Для решения задачи о расстановке королей на шахматной доске так, чтобы они не могли угрожать друг другу, можно использовать следующий подход. Короли не могут находиться на смежных клетках, включая диагонали. Мы можем использовать шахматную доску размером \(n \times n\) и разместить королей в определенной конфигурации.
Наиболее эффективный способ разместить королей — это использовать шахматную раскладку на черные и белые клетки. Королей можно размещать только на клетках одного цвета.
При этом, чтобы не было возможности поставить еще одного короля, нужно добиться следующей конфигурации:
- Если \(n\) четное, то максимальное количество королей будет равно \( \frac{n^2}{2} \).
- Если \(n\) нечетное, то максимальное количество королей будет равно \( \frac{n^2}{2} + 1 \).
Теперь можно написать код на Python для подсчета максимального количества королей:
def max_kings(n):
if n % 2 == 0:
return (n * n) // 2
else:
return (n * n) // 2 + 1
n = int(input())
print(max_kings(n))
Как работает код:
- Сначала мы проверяем, четное число \(n\) или нет.
- Если четное, вычисляем \( \frac{n^2}{2} \).
- Если нечетное - вычисляем \( \frac{n^2}{2} + 1 \).
- Результат выводится на печать.
Пример:
Для \(n = 3\):
- \( \frac{3^2}{2} + 1 = 4 \)
Для \(n = 4\):
- \( \frac{4^2}{2} = 8 \)
Оба случая соответствуют максимальному количеству королей, которых можно расставить на доске.