Показать сообщение отдельно
Старый 29.05.2003, 23:00   #10   
Форумец
 
Аватар для RomanPshenichny
 
Сообщений: 334
Регистрация: 14.04.2003
Возраст: 44

RomanPshenichny вне форума Не в сети
Re: Алгоритм для игры

> Некоторая область нулей "окружена" единицами.
> Областей может быть несколько и они могут граничить
> друг с другом.
> Нужно подсчитать "окружённые" нули.

Алгоритм называется full, похожие на него называются A*, wave*.

Значит так, поехали:
1. Поставили в углу "2", если там "0". Вообще, в любом месте где можно поставить, поставили.
2. N = 3
3. Нашли на карте все значение равные N.
4. Окружили от по кругу значениями N+1. Можно в 4 стороны, можно в 8.
5. Если окружили хоть одну точку, то продолжаем с пункта 3, увеличив на N++.
6. Если нельзя окружить ни одной точки, то контур заполнен, увеличили счетчик количества откружение и переходим к пункту 1.
Как только не останется ни одной клетки с "0" -- выходим.

Начальное состояние:
11111
10001
10001
10001
11111

Заполненное:
11111
12341
13451
14561
11111
  Ответить с цитированием