Британские учёные пообещали миллион долларов

life.ru — за решение шахматной загадки. Исследователи из Сент-Эндрюсского университета в Великобритании бросили вызов программистам со всего мира — они готовы отдать миллион долларов тому, кто сможет разгадать старинную шахматную загадку. программисты, дерзайте!
Новости, Компьютеры | Light1508 14:10 02.09.2017
1 комментарий | 33 за, 0 против |
#1 | 15:00 02.09.2017 | Кому: Всем
Поэтому представляет особенный интерес следующий эвристический алгоритм, решающий задачу об N ферзях на поле размером N x N. Он работает для всех N ≥ 4 или N = 1:

Разделить N на 12 и запомнить остаток (N будет равно 8 для задачи о восьми ферзях).
Занести в список все четные числа от 2 до N по порядку.
Если остаток равен 3 или 9, перенести 2 в конец списка.
Добавить в список все нечетные числа от 1 до N по порядку, но, если остаток равен 8, перевернуть пары соседних чисел (например: 3, 1, 7, 5, 11, 9, …).
Если остаток равен 2 и N ≥ 3, поменять местами 1 и 3, затем, если N ≥ 5, перенести 5 в конец списка.
Если остаток равен 3 или 9, переместить 1 и 3 (именно в этом порядке, а не в котором они сейчас) в конец списка.
Разместить ферзя в первом столбце и в строке с номером, равным первому элементу списка, затем поместить следующего ферзя во втором столбце и в строке с номером, равным второму элементу списка, и т. д.
Войдите или зарегистрируйтесь чтобы писать комментарии.