Для решения задачи о максимальном количестве королей, которые можно разместить на квадратной шахматной доске размера \( n \times n \) без того, чтобы они могли угрожать друг другу, можно использовать следующий подход.
Короли на шахматной доске угрожают друг другу, если они находятся в пределах одной клетки в любом направлении. Это означает, что каждый король занимает центральную клетку, а также все соседние клетки вокруг него.
Одним из способов размещения королей на доске является использование "шахматного узора". Короли могут быть размещены на клетках черного цвета, если представить доску как чередование черных и белых клеток, или же на белых клетках.
Для шахматной доски размером \( n \):
Если \( n \) четное, то на доске будет ровно \( \frac{n^2}{2} \) клеток одного цвета и \( \frac{n^2}{2} \) клеток другого цвета. Таким образом, может быть размещено \( \frac{n^2}{2} \) королей.
Если \( n \) нечетное, то на доске будет \( \frac{n^2 + 1}{2} \) клеток одного цвета и \( \frac{n^2 - 1}{2} \) клеток другого цвета. Следовательно, максимальное количество королей также будет \( \frac{n^2 + 1}{2} \) (приближенно) для большего количества клеток.
Итак, максимальное число королей на доске можно вычислить формулой:
- Если \( n \) четное: \( \text{max\_kings} = \frac{n^2}{2} \)
- Если \( n \) нечетное: \( \text{max\_kings} = \frac{n^2 + 1}{2} \)
Ниже представлен код на Python, который реализует эту логику:
n = int(input().strip())
max_kings = (n * n + 1) // 2 # Используем целочисленное деление
print(max_kings)
Этот код считывает размер шахматной доски, вычисляет максимальное количество королей и выводит результат.
