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