StarCraft FOREVER - Показать сообщение отдельно - Тема для волосатых мужиков (задача с графом)
Показать сообщение отдельно
Старый 19.07.2011, 16:27   #3
Dyavol
Местный
 
Аватар для Dyavol
 
Регистрация: 24.05.2006
Сообщений: 1,004
Нарушения: 0
ICQ: 296850678
Отправить сообщение для Dyavol с помощью ICQ Отправить сообщение для Dyavol с помощью Skype™
Хотел предложить один способ, но он разрешает стрелку из клетки 3.0 в 2.1
Так что надо ещё подумать.

Добавлено через 4 минуты
А хотя это ж и не проблема. Цикла то не будет.
Короче вот:

можно пометить все клетки нулями и клетку с источником в единицу. Потому клетку в которую сделан первый шаг поставить в двойку и так дальше. Таким образом число в клетке будет на единицу больше, чем количество шагов нужное, чтоб туда пройти (за исключением нуля)
Во первых при расстановке менять номер можно только если текущий меньше, чем тот, что там стоял (это если хочется лабиринт сделать и зафигачить там поиск крадчайшего пути. Для твоей задачи достаточно просто проверки на ноль)
А если есть ещё и стрелки, то правильными считать только те, у которых начало стрелки на единицу меньше конца стрелки. Остальные не правильные.

Если хочется сделать затухание энергии, то можно начинать не с единицы, а с максимальной дальности распространения энергии, и отнимать по единице.
__________________
Богат не тот у кого больше, а тот, кто нуждается в меньшем.
Dyavol вне форума   Ответить с цитированием