Показать сообщение отдельно
Старый 28.05.2003, 13:54   #3   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,520
Регистрация: 27.05.2003
Возраст: 48

Spectator вне форума Не в сети
Что значит граничить
Либо они окружены единицами либо нет
А вообще можно так: ищем (перебором) ноль
далее рекурсивно налево, направо, вверх, вниз смотрим что там. Есть два варианта - либо область нулей ограничена 1 либо она касается границы. Т.о. рекурсивная функция:
1) Возвращает 1 если встретила на пути единицу
2) Возвращает 0 если встретила на пути границу массива
3) Если на вызванном месте 0, то возвращает 0 если возвратила 0 одна из вызванных соседних клеток, иначе - 1
Ну и чтобы не зациклица проверенные места надо вычеркивать. Ну и нули считать по ходу дела.
Надеюсь понятно
  Ответить с цитированием