|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgeny Sharandin 2:5020/755.12 23 Oct 2001 14:26:00 To : Rustam Gadeyev Subject : 8 мирных ферзей -------------------------------------------------------------------------------- Привет Rustam! 19 октября 2001 года (а было тогда 17:39) Rustam Gadeyev в своем письме к Evgeny Sharandin писал: ES>> Почти в 2 раза уже есть, как еще уже написал. Смена BP на spb или ES>> GPC еще раза в 2 пришпорит. Пусть будет, в сумме, в 4 раза (чего ES>> жадничать-то?). А если учесть симметрию, то для доски 8х8, в ES>> пределе, можно еще сократить время до 12/92. Короче, ускорение на ES>> порядок - это очень скромно. RG> Я что-то не совсем понял, как можно нормально пристроить проверку на RG> симметрию и получить при этом ускорение в 4 раза. В 4 раза - это мой первый вариант + оптимизирующий компилятор. Реально оказалось 67/21, то есть чуть больше трех. Дополнителные 12/92 - это недостижимый предел по отношению к уже достигнутому. RG> А вот на другом компиляторе (BC3.1 и WC10.0) программа заметно RG> ускоряется. Hо это ведь не считается заслугой программиста? Hу почему же? Знание особенностей компилятора является заслугой программиста. А знание особенностей его оптимизатора, тем более. Hу а так, из опыта, - если программист ставит себе цель оптимизации, то обычно паскалевские и фортрановские программы работают быстрее сишных. Исключение только одно - когда удается разыграть козырную карту С, связанную с адресной арифметикой. RG> Вот переделанный 1 в 1 вариант на C. Вывод позиций работает только на RG> BC. RG> //если сюда можно поставить ферзя RG> if (p[t] & d1[t+n-1] & d2[num-t+n]) { && && Hу или разбей на составные части. WC это необходимо. С уважением, Evgeny 23 октября 2001 года --- * Origin: LID (2:5020/755.12) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/39153bd58f10.html, оценка из 5, голосов 10
|