![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
![]()
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:
Выяснить, можно ли с поля (k, l) одним ходом конь попасть на поле (m, n). Если нет, то выяснить, как это можно сделать за два хода (указать поле, на которое приводит первый ход). Предполагается, что указанные поля имеют один и тот же цвет. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
А разве конь может перейдти на поле с тем же цветом? Т.е. если цвета одинаковые одним ходом точно не получится.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
![]()
На такого же цвета перейти не может.
Просто было в условие. так в голове наброски есть а толком не чего не могу написать |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
![]()
Лучше бы помог
мне это не особо много дало |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
Думаю, что к исходным условиям задачи кто-то (скорее всего преподаватель, а может и сам yzen) дописал это уточнение, которое половину решения исходной задачи (проверка первого хода) уже сразу отметает! yzen, мыслей как решить задачу нет совсем-совсем?.. я не уверен, что предложу оптимальное решение, но, на крайний случай, могу вам предложить такой алгоритм: 1. Делаем перебор от 1 до 8 всех потенциально возможных ходов коня из исходной точки (пусть будут получаться точки с координатами iC, iR). 2, в цикле проверяем возможность из этой полученной точки (iC, iR) одним ходом достичь конечной точки (m, n) (это ещё проще: Код:
ну и дальше, либо выдаём все подходящие варианты (их может быть больше одного) или сообщаем, что перемещение за два хода невозможно. профит. Последний раз редактировалось Serge_Bliznykov; 03.10.2012 в 12:59. |
||
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Я про это:
"Выяснить, можно ли с поля (k, l) одним ходом конь попасть на поле (m, n). Предполагается, что указанные поля имеют один и тот же цвет." Соотвественно а) я в курсе что нужны два хода б) зачем выяснять, когда понятно, что одного хода недостаточно... хотя наверно надо *доказать* что одним ходом конь всегда меняет цвет ![]() |
![]() |
![]() |
![]() |
#9 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
на вот: (на коленке написал одну из унылых унылых реализаций обхода поля конем в ширину)
Код:
Чтобы ограничить количество ходов добавь еще один pair или заведи уже структуру типа Код:
Чтобы вывести путь замени цикл хвостовой рекурсией, на возврате будет тебе путь. Последний раз редактировалось rrrFer; 03.10.2012 в 17:29. Причина: что-то код не хочет форматироваться на форуме (( |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
![]()
Забыл указать//
надо на паскале |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
шахматная доска | xamelion | Visual C++ | 8 | 15.02.2012 21:41 |
шахматная доска | revaldo666 | Общие вопросы C/C++ | 4 | 11.01.2011 11:25 |
Шахматная доска | Настенька..Блонди | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 15.05.2009 23:26 |
Шахматная доска | Shevali | Помощь студентам | 4 | 03.04.2009 20:22 |
шахматная доска | Irisha_17_85 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 04.11.2008 10:50 |