Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > задача повышенной сложности


Автор: DELFA 20.5.2006, 08:45
Имеется шахматная доска 8*8, поставить конь на заданную клетку(ввести с клавиатуры). Написать программу обхода доски конём,чтобы он побывал на каждой клетке поля, и при том только 1 раз.
Пожалуйста помогите с задачкой, с меня шоколадка. smile  

Автор: Ch0bits 20.5.2006, 09:20
Тебе наверно надо в http://forum.vingrad.ru/index.php?showforum=13 сначала обратиться. 

Автор: Fin 20.5.2006, 10:59
Там нет ничего сложного. 
1) Расчитываеш в начале программы коэфиценты для всего шахматного поля. Т.е. Если бы конь стоял бы на данном поле. То сколько бы ходов у него было. Например в поле A1 у коня есть только 2 поля куда он может прыгнуть значит коэфицент данного поля 2. И т.д. 
2) Теперь когда ввели с клавиатуры номер поля. 
3) Помечаеш данную ячейку как пройденную. Выставляеш коэфицент поля 9. Уменьшаеш все коэфиценты на 1 у всех полей  на которые конь может прыгнуть и которые не равны 9. Заодно просматриваеш сразу, какие поля имеют наименьший коэфицент. Если все поля равны коэфиценту 9 то выйти из проги.
4) следуюшим полем будет поле с наименьшим коэфицентом. Перейти на шаг 3.
Я реализовывал данный алгоритм. Правда я делал еше один наварот. Но в принципе и так должно работать. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)