| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > ладьи не бьют друг друга |
| Автор: Domen 22.11.2009, 23:37 |
| Здравствуйте! Вычислить рекурсивно число расстановок N ладей на доске N*N таких, что ладьи симметричны относительно обеих диагоналей и не бьют друг друга. Я думаю что если доску разделить по диагонали.И сравнивать две части по количеству расставленных ладей. Расставляя их по вертикалям. Но не знаю как это записать. Можно упростить задачу для стандартного поля шахматной доски. |
| Автор: dereyly 23.11.2009, 01:50 |
| Этож классическая задача с растановкой ферзей, но вам ее чуть упростили до ладей (программировать проще будет). Так что советую вам поискть самому так как информации в интернете много... не имеет смысла ее перепечатывать. |
| Автор: dereyly 23.11.2009, 17:11 | ||||
Непонял почему задача с вашей точки зрения нерешаема... На мой взгляд у задачи есть во-первых 2 решения когда ладьи расположены по обеим диагоналям. Так же полагаю что общее количество расстановок будет равным N. |
| Автор: Akina 23.11.2009, 21:24 | ||
Согласен, не рассмотрел этот особый случай - когда ладья при отражении относительно одной из диагоналей отражается в себя. Но это, собсно, и всё. Два решения. По одной диагонали. По второй диагонали. Третьего решения не будет. |
| Автор: Alexandr87 24.11.2009, 06:27 | ||
|
| Автор: Alchimik 1.12.2009, 10:45 | ||||||
Если n - нечётное и ладью располагать на вертикальной или горизонтальной линии делящей квадрат пополам, то да, ладья бьёт одно из своих "отражений. Если поставить в любое другое место , или n - чётное, ладья своего "отражения" не бьёт. Напрмер:
1, 2, 3 бьёт своё отражение, а 4 - нет.
|