Показать сообщение отдельно
Старый 08.02.2015, 14:55   #2
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Алгоритм заливки массива

ну, пусть в массиве 0 - пещера, (-1) - стена.

Перекрасим какую-нибудь из клеток со значением 0 в, например, 1.
И все клетки, которые =0 и соседние с 1, тоже будем перекрашивать в 1, пока они не кончатся.

Если останутся нулевые клетки - одну из них красим в цвет 2 и аналогично заливаем все, достижимые из неё.

И так до тех пор, пока не кончатся клетки со значением 0.

Потом пробежаться по всему массиву, поссчитать количество клеток с номерами 1, 2, ... - получим размеры областей
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MoteX (08.02.2015)