| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > Задача о 8 шахматных слонах |
| Автор: Dioniz 15.2.2005, 18:29 |
| У меня проблема с такой задачей: Расставить 8 слонов на шахматной доске(8x8) так,чтоб каждое поле было под боем. Как реализовать это на паскале?Кажется.нужно использовать рекурсию. Помогите,please!!! |
| Автор: Guest 10.11.2005, 19:47 |
| А как это реализовать на ПАСКАЛЕ или СИ?? |
| Автор: Pakshin A. S. 10.11.2005, 22:18 |
| Модератор: не относящиеся к сути темы посты были удалены моератором. |
| Автор: darkart 10.11.2005, 23:21 | ||
Примерно так...
|
| Автор: Nestea 11.11.2005, 19:02 |
| Что-то она выводит толко название доски на экран - ChessBoard.. Пробовала пошагово прогонять, она в нек-е циклы вроде как не заходит..please, если можно доработать? |
| Автор: darkart 11.11.2005, 22:32 | ||
Надо подождать... У меня выводит: ChessBoard Result: (1,2),(2,4),(3,6),(4,3),(5,3),(6,6),(7,4),(8,2) _ |
| Автор: Guest 12.11.2005, 09:41 |
| darkart Спасибки большие! |
| Автор: darkart 12.11.2005, 16:56 | ||
Вообще вот, но количество слонов для доски (nxn) будет n штук:
P.S. Не задавай большое n(2<=n<=6), ждать за... мучаешься. |
| Автор: Nestea 12.11.2005, 21:16 |
| Прям выручил!! )) А еще один вопросик, это не метод бэктрекинга случайно? |
| Автор: Nestea 12.11.2005, 21:28 |
| darkart При выполнении пишет 3 4 Эти циферки что обозначают? |
| Автор: darkart 12.11.2005, 22:16 | ||||
Да.
Для какого количества слонов считается. |
| Автор: Nestea 13.11.2005, 10:23 |
| [/QUOTE] Для какого количества слонов считается. Всмысле 4 - это сколько нужно слонов, чтобы побить все поле? а 3 что значит? |
| Автор: darkart 13.11.2005, 11:01 |
| Работа алгоритма: 1)Вычисление минимально разумного количества слонов - mink, т. к. один слон не может бить более 2*n-1 клеток поля, где n-размерность поля, то mink=[(n*n)/(2*n-1)]+1 2)для всех k(mink=<k<=n) идет всевозможная расстановка k слонов на поле и проверяется всяли доска бита Так вот выводимые числа - это k для которого идет расчет в данный момент. |