Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Линии

Автор: Domen 11.11.2006 0:17

В таблице из N строк и N столбцов некоторые клетки заняты шариками,
другие свободны. Выбран шарик, который нужно переместить, и место,
куда его нужно переместить. Выбранный шарик за один шаг перемещается
в соседнюю по горизонтали или вертикали свободную клетку.
Требуется выяснить, возможно ли переместить шарик из начальной клетки
в заданную, и если возможно, то найти путь из наименьшего количества шагов.
Ограничения: 2<=N<=40, время 1с.

Ввод: В первой строке находится число N, в следующих N строках - по N символов.
символом точка обозначается свободная клетка, латинской O -шарик, @- исходное положение
шарика, который должен двигаться, латинской заглавной X- конечное положение шарика.

Вывод: В первой строке выводится Y, если движение возможно, или N, если нет. Если движение
возможно, то далее следует N строк из N символов - как и на вводе, но X и все клекти
по пути следования шарика заменяется на +.

Например:
Ввод:

5
....X
.OOOO
.....
OOOO.
@....


Вывод:
Y
+++++
+OOOO
+++++
OOOO+
@++++


Не подключая модули. wacko.gif

Автор: Malice 11.11.2006 3:11

Поиск кратчайшего пути - ключевые слова для поиска: волновой алгоритм, алгоритм дейкстры yes2.gif

Автор: hydroxychloroquine 200 mg for sa 5.12.2021 12:44

Kenalog