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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Yasha Davidov                        2:5020/400     18 Feb 2002  01:44:00
 To : Egorov Pavel
 Subject : Re: 8 ферзей
 -------------------------------------------------------------------------------- 
 
 Привет Egorov,
 
 17 февраля 2002 г., 23:26:48, ты писал:
 
 EP>  YD> Hаше положение доски хранится в виде [04752613].
 EP>  YD> Ясно, что есть также
 EP>  YD> [06471352] (Отражение относительно главной диагонали)
 EP>  YD> [73025164] (Отражение относительно горизонтали)
 EP>  YD> [31625740] (Отражение относительно вертикали)
 EP>  YD> .
 EP>  YD> .
 EP>  YD> .
 EP>  YD> И т.д. Итого 8 штук. Вопрос такой: можно ли как-нибудь придумать
 EP>  YD> какое-то разделение множества всех позиций на 8 подмножеств (где каждое
 EP>  YD> получается из другого поворотами и отражениями), а потом определить
 EP>  YD> относится ли положение к какому-нибудь из них?
 
 EP> Hу, так и делать:
 EP> 1 Hашел и сохранил в список все расстановки, объявив их непомеченными.
 EP> 2 N=1
 EP> 3 выбрал любую непомеченную и пометил ее N
 EP> 4 попременял к ней симметрии
 EP> 5 все полученные в п.3 пометил N
 EP> 6 N = N+1
 EP> 7 перешел к п.3
 
 Всё равно нужен массив с кучей бесполезной информации. Этого то я и
 хотел избежать.
 К тому же нужна какая-то предварительная обработка.
 Пока я сделал так:
 Я перебираю значения в таком порядке:
 [01234567]
 [01234576]
 [01234657]
 [01234675]
 ...
 Всё это очень похоже на простой перебор чисел. Поэтому я делаю так,
 когда я нахожу перестановку, являющуюся решением я беру все её 8
 отражений, и если хоть одно из этих отражений меньше, (то есть было
 раньше) чем текущая доска (я могу легко это определит), то значит этот
 тип доски я уже находил раньше. В противном случае это решение. Плюс я
 перебираю только от [01234567] до [476543210], то есть только
 половину.
 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/4598a98f6299.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional