Главная > Лягушка и комар
1995

Лесное болото разделено на 8×8 одинаковых клеток. В некоторых клетках болота находятся кочки, а все остальные клетки с водой. На одной из кочек сидит лягушка, а над какой-то другой клеткой болота летает комар. Лягушка хочет съесть комара, а комар старается от нее улететь. Перемещаются лягушка и комар по очереди, первый ход - за лягушкой. За один прыжок лягушка перемещается на любую из кочек по горизонтали, вертикали или диагонали. Комар за один перелет перемещается на одну из 8 соседних клеток. Если лягушка в прыжке пролетает через клетку, над которой находится комар (или прыгает на клетку, над которой летает комар), то она съедает комара. Съев комара в последнем прыжке, лягушка может оказаться как в воде, так и на кочке

Требуется определить минимальное число прыжков для того, чтобы съесть комара, либо выдать сообщение, что комара съесть невозможно.


Входные данные

Входные данные программы расположены в текстовом ASCII-файле, имя которого вводится с клавиатуры.

В первых 8 строках файла находится матрица размером 8×8, задающая схему расположения кочек в виде нулей и единиц (0 - клетка с водой, 1 - кочка). Элементы матрицы в каждой строке записываются без пробелов. Далее содержится строка с координатами лягушки (x1, y1) и комара (x2, y2), где xi - номер строки, yi - номер столбца.

Длина имен не превышает 20 символов.

Программа должна запрашивать имя входного файла с клавиатуры.


Выходные данные

Выходной текстовый ASCII-файл с именем OUTPUT.TXT должен содержать сначала минимальное количество шагов, а затем первый возможный ход лягушки, задаваемый координатами кочки, на которую прыгает лягушка. Если комара съесть невозможно, то выходной файл должен содержать одну строку с сообщением "Невозможно".


Пример

входной файлвыходной файл
11111111
11111011
11101111
11111011
11110111
11011111
10111101
11111111
2 1 1 8  
2
2 7  


Примечания

  1. В выходном файле должен содержаться только один из возможных первых ходов лягушки.
  2. Лягушка перемещается только с кочки на кочку, т.к. при попадании в воду она теряет комара из вида.
  3. Исходные данные корректны, и их проверка не требуется.
  4. Решение задачи для случая, когда минимальное количество прыжков лягушки не превосходит трех, будет также оцениваться.
  5. Время тестирования каждого теста ограничено одной минутой.


Система оценки

Максимальная оценка за задачу - 40 баллов.

 
Hosted by uCoz