Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 87
от 12.10.2005, 20:57

Администратор:Калашников О.А.
В рассылке:Подписчиков: 143, Экспертов: 42
В номере:Вопросов: 1, Ответов: 2


Вопрос № 27385: Здравствуйте эксперты, не получается задача. Её нужно сделать с помощью рекурсии, у меня получается только n=1, т.е. для одного хода. PLZ Помогите решить. На шахматной доске (8x8) определите поля, в которые может попасть конь за n хо...

Вопрос № 27.385
Здравствуйте эксперты, не получается задача.
Её нужно сделать с помощью рекурсии, у меня получается только n=1, т.е. для одного хода.
PLZ Помогите решить.

На шахматной доске (8x8) определите поля, в которые может попасть конь за n ходов из указанной позиции.
Отправлен: 07.10.2005, 20:56
Вопрос задал: mustsee! (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: mvp
Здравствуйте, mustsee!!
Надеюсь, что других фигур на доске нет :) См. приложение (приблизительно).
Может я где и ошибся, но идея такова: конь из центра поля может пойти по 8-ми позициям, если он где-то ближе к какому-либо краю, то и позиций меньше.
В качестве параметров передаём текущие координаты коня и количество оставшихся ходов. Т. к. перебор идёт по всем имеющимся вариантам хода, то для обеспечения выхода из рекурсии проверяем количество ходов и клетку, куда пошёл конь (если он там уже был, то не ходим - хотя можно и ходить, но это эквивалентно задаче с меньшим числом ходов и наши условия не нарушают исходные).
Когда ходы закончились или мы тут уже были, то выход из процедуры.

Приложение:

---------
Моя совесть чиста - не бывшая в употреблении

Ответ отправил: mvp (статус: 7-ой класс)
Отправлен: 07.10.2005, 22:40
Оценка за ответ: 5
Комментарий оценки:
Спасибо за решение, идею я сам догнал, а вот в виде рекурсии сделать не смог.
А можно её графически дополнить?
Сделать шахматную доску, и на ней закрашивать клетки, где предполагаемо будет конь через n ходов?
Ещё раз спасибо!

Отвечает: sir henry
Здравствуйте, Никита!
Задание слишком обще. :)
Может ли конь попадать в те поля, куда он уже заходил? Если да, то у него, в принципе, всего два поля, сколько бы ходов ему не предложили. Это программа минимум. :)
Нужно ли индицировать ВСЕ возможные комбинации ходов? Если да, то тут вообще расцветает пышный куст, а в придачу с первым вопросом, то и целый лес. :)
Для примера, я ограничил коня тем, что он может ходить только в те поля, куда он еще не попадал и только одна из возможных линий хода.
Выбор хода осуществляется самым примитивным методом - выбор первого допустимого из возможных, методом простого перебора.
Можно, если хотите, ввести некоторую неопределенность выбора хода, путем запуска генератора псевдослучайных чисел при выборе.
Правила:
1. Вводите кол-во ходов;
2. Вводите начальные координаты коня (я не стал здесь делать проверку на допустимость координат, захотите - сами сделаете).
Начальная позиция коня обозначается цифрой 99. Далее идут цифры - номера ходов. Где конь не побывал обозначено нулем.

Приложение:

Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.10.2005, 09:35


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное