Для решения задачи о максимальном количестве королей на шахматной доске размером \( n \times n \) необходимо учесть, что короли не могут находиться на соседних клетках, включая диагональные.
Как правило, на квадратной шахматной доске оптимальная стратегия заключается в том, чтобы размещать королей в шахматном порядке. Например, если мы рассмотрим клетку (i, j), то мы можем разместить короля в клетках только с четными координатами или только с нечетными координатами.
Для доски размером \( n \):
Если \( n \) четное, то общее количество клеток будет \( n^2 \), и максимальное количество королей, которое можно расставить, составит: \[ k = \frac{n^2}{2} \]
Если \( n \) нечетное, то общее количество клеток также будет \( n^2 \), но теперь максимальное количество королей будет: \[ k = \frac{n^2 + 1}{2} \] поскольку в таком случае одна клетка останется свободной.
Таким образом, можно обобщить это в единое выражение: \[ k = \left\lceil \frac{n^2}{2} \right\rceil \] где \(\left\lceil x \right\rceil\) обозначает округление до ближайшего большего целого числа.
Пример реализации на Python:
n = int(input())
max_kings = (n * n + 1) // 2 # Используя целочисленное деление
print(max_kings)
Эта реализация правильна для любого \( n \) в пределах от 1 до 100. В том случае, если \( n \) не превышает 10% от 100, программа тоже будет корректно работать.
