Рассмотрите эту проблему:Проверка проходимости сетки
Существует квадратная сетка, каждая из которых является проходной (1) или непроходимой (0). Во-первых, мы имеем просто связное пространство в сетке с непроходимой границы, как это:
Затем начать размещение непреодолимые препятствия различных размеров (например, 1х1, 2х2, ..) в проходимое пространство. После того, как каждое препятствие помещено, нам нужно проверить, все ли еще подключено оставшееся проходимое пространство (т. Е. Убедитесь, что мы не разделили проходимое пространство в двух или более отключенных пространствах). Плитки также соединены по диагонали.
Дело в том, что после каждого размещения препятствий каждая оставшаяся проходимая плитка имеет путь, соединяющий ее с КАЖДОЙ другой оставшейся проходимой плиткой.
Я знаю о возможности поиска путей между возможными отключенными точками, но я боюсь, что это может быть слишком неэффективным. Меня интересует как можно быстрее это тестирование.
Спасибо за помощь!
_Seems legit._ :) Спасибо! – vedran