I. Мирные ферзи
2000 мс · 256 МБ · всё или ничего
Определите, сколькими способами на доске можно расставить ферзей так, чтобы никакие два не били друг друга.
Ферзь бьёт по своей строке, своему столбцу и обеим диагоналям. Раз ферзей ровно , в каждой строке стоит ровно один — значит, перебирать надо не клетки, а по одному столбцу на строку.
Ключ к скорости — проверять занятость столбца и диагоналей за одно действие, а не просмотром всех уже поставленных ферзей.
Формат ввода
Одна строка содержит число ().
Формат вывода
Одно число — количество расстановок.
Примеры
ввод
5
вывод
10
ввод
2
вывод
0
Войдите, чтобы отправлять решения.