В основном вам нужно определить самые большие X, самые большие Y, самые маленькие X и самые маленькие Y
Найдите правый нижний угол реального края:
Вы можете сделать это, пройдя как можно дальше вправо + вниз внутри вашего цвета.
Когда вы больше не можете идти направо + вниз, тогда вам нужно проверить, чтобы убедиться, что вы не застряли в углу острова. Чтобы проверить это, вам нужно проследить по всему краю в поисках шанса пройти вправо + вниз. Вы можете отслеживать (наибольшийX, наибольший, наименьший, наименьший) каждый раз, когда это происходит, если у вас действительно есть реальное преимущество.
Если у вас действительно есть остров, вы в конечном итоге найдете место, следующее за краем, которое вы можете пройти вправо + вниз.
Если у вас нет возможности пройти еще вправо + вниз, и вы достигнете своей начальной точки, тогда у вас будет реальное преимущество. И вы вычислили свои (самый большойX, самый большойY, самый маленькийX и самый маленькийY).