![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.02.2009
Сообщений: 53
|
![]()
Здравствуйте уважаемые.
Такую задачку задали: Путь коня На обычной шахматной доске стоит конь. Ему требуется перебраться на другую клетку, сделав ровно k ходов. Требуется написать программу, которая определяет, может ли конь это сделать, если да, то сколькими возможными способами, и выводит один из таких способов. Не знаю с чего начать вообще. Может кто нить направит в нужную сторону. В файл вводится начальная позиция и кол-во ходов через пробел.
З.Ы. Сильно не бейте за некрасивый код, мне всего лишь 15 лет
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]()
Какие ограничения? Если надо "количество способов", то проще всего динамикой, запускаем цикл до нужного числа, и на каждой итерации пересчитываем значения (если для определенной клетки ответ больше ноля, то увеличиваем на это число ответы для всех клеток, куда можно попасть с этой), база динамики - единица для начальной клетки.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 98
|
![]()
Быстренько набросал программку, которая считает количество путей из (sr,sc) в (tr,tc) длиной stepCount на доске размером BoardSize. Результат сохраняется в pathCount. Вывод одного из путей -- попробуй самостоятельно
![]() Код:
Последний раз редактировалось sergey.d; 27.11.2010 в 23:15. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 27.02.2009
Сообщений: 53
|
![]()
Большое спасибо. С записями ходов я разберусь сам.,))
Если я правильно понял то это си (Я сам на делфи пишу)
З.Ы. Сильно не бейте за некрасивый код, мне всего лишь 15 лет
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]() Цитата:
Действительно, так даже проще немного. Тогда можно сократить код - не прописывать все 8 вариантов хода, а воспользоваться тем, что модуль произведения разностей координат между начальной и конечной точкой для хода коня равен двум - о перебирать все координаты двумя (или даже одним) циклами с условием. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Путь к файлу. | Sniperok | Общие вопросы по Java, Java SE, Kotlin | 2 | 12.08.2010 04:46 |
на шахматной доске заданы 2 клетки соедините эти 2 клетки кратчайшим путем коня | Ker_33rus | Общие вопросы C/C++ | 5 | 18.03.2010 12:25 |
Две проги. Порезка труб и движения коня по шахматной доске. По какому принципу работают такие проги? | sadf | Общие вопросы C/C++ | 4 | 06.03.2010 20:04 |
Путь к БД | stscolt | БД в Delphi | 4 | 11.02.2010 17:15 |
Путь | StartMis | Общие вопросы Delphi | 3 | 03.10.2008 14:45 |