![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Domen |
![]() ![]()
Сообщение
#1
|
![]() Zaochelovek ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Макс Репутация: ![]() ![]() ![]() |
В таблице из N строк и N столбцов некоторые клетки заняты шариками,
другие свободны. Выбран шарик, который нужно переместить, и место, куда его нужно переместить. Выбранный шарик за один шаг перемещается в соседнюю по горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки в заданную, и если возможно, то найти путь из наименьшего количества шагов. Ограничения: 2<=N<=40, время 1с. Ввод: В первой строке находится число N, в следующих N строках - по N символов. символом точка обозначается свободная клетка, латинской O -шарик, @- исходное положение шарика, который должен двигаться, латинской заглавной X- конечное положение шарика. Вывод: В первой строке выводится Y, если движение возможно, или N, если нет. Если движение возможно, то далее следует N строк из N символов - как и на вводе, но X и все клекти по пути следования шарика заменяется на +. Например: Ввод: 5 Вывод: Y Не подключая модули. ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 11:12 |