В духе того, что это вопрос домашней работы, я не буду предлагать решение, а скорее ряд вопросов, которые приведут к решению. Ниже приведен способ ответить «можете ли вы доминировать на доске с n
ферзями?» Затем вы можете найти номер доминирования, протестировав n = 1, n = 2, ...
1) Поместив ферзя в положение 1 *, можно ли тогда доминировать над всеми оставшимися позициями, не достигнутыми королевой 1, разместив (n - 1) ферзей в (n - 1) позициях, выбранных из (2,3, ..). .)
2) Если нет, можете ли вы поместить королеву в позицию 2, а затем доминировать над всеми оставшимися позициями, не достигнутыми королевой 1, разместив (n - 1) ферзей в (n - 1) позициях, выбранных из (3,4, ...)
3) и так далее, т. Е. Поместите сначала ферзя в положение 3, затем в положение 4 и т. Д.
Обратите внимание, что это решение является рекурсивным - при каждой рекурсии в качестве аргументов передаются «оставшиеся позиции для добавления ферзя» и «позиции, которые еще не достижимы ни одной маткой». Когда «позиции, которые еще не доступны ни одной королеве» пустые, вы нашли решение.
* упорядочить все позиции доски каким-либо образом, например слева направо, сверху вниз. Таким образом, 64 позиции на доске 8x8 могут быть обозначены только индексом (1..64).