Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Yasha Davidov                        2:5020/400     16 Feb 2002  00:49:38
 To : All
 Subject : 8 ферзей
 -------------------------------------------------------------------------------- 
 
 Привет All.
 Решил тут написать программку решения задачу о 8 ферзях. Если кто не
 помнит условие, то надо расположить на шахматной доске 8 ферзей так,
 чтобы они друг друга не "били".
 Возникла проблема: решения получаются, их 92 штуки, однако
 несимметричных лишь 12. Hужен алгоритм, который позволил бы убрать
 лишние варианты.
 Можно конечно записывать все решения в массив, а потом выкидывать
 ненужные, однако чувствую есть способ проще.
 А точнее:
 Hаше положение доски хранится в виде [04752613].
 Это выглядит так:
 ----------
 |*.......|
 |......*.|
 |....*...|
 |.......*|
 |.*......|
 |...*....|
 |.....*..|
 |..*.....|
 ----------
 Ясно, что есть также
 [06471352] (Отражение относительно главной диагонали)
 [73025164] (Отражение относительно горизонтали)
 [31625740] (Отражение относительно вертикали)
 .
 .
 .
 И т.д. Итого 8 штук. Вопрос такой: можно ли как-нибудь придумать
 какое-то разделение множества всех позиций на 8 подмножеств (где каждое
 получается из другого поворотами и отражениями), а потом определить
 относится ли положение к какому-нибудь из них?
 То есть можно ли в функцию, которая проверяет, является ли данная
 позиция решением добавить простой кусок, который из 8 разных позиций
 (получаемых поворотами) будет отбраковывать 7, а одну оставлять.
 Hадеюсь хоть чуть-чуть понятно :)
 
 -- 
 Best regards, aBocT.
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 8 ферзей   Yasha Davidov   16 Feb 2002 00:49:38 
 8 ферзей   Max Alekseyev   15 Feb 2002 19:15:40 
 Re: 8 ферзей   Yasha Davidov   16 Feb 2002 15:16:10 
 8 ферзей   vitalie vrabie   23 Feb 2002 02:00:52 
 8 ферзей   Egorov Pavel   18 Feb 2002 00:26:48 
 Re: 8 ферзей   Yasha Davidov   18 Feb 2002 01:44:00 
 Re: 8 ферзей   Zeram Z   18 Feb 2002 13:32:29 
 Re: 8 ферзей   Andrew Ezhguroff   18 Feb 2002 16:48:59 
 8 ферзей   Egorov Pavel   19 Feb 2002 00:33:19 
 8 ферзей   Dan Raskovalov   21 Feb 2002 10:23:31 
Архивное /ru.algorithms/4598e0affa36.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional