Миша учится играть в шахматы. Самая любимая фигура Миши —
это слон, потому что слон может атаковать все клетки, которые находятся с ним на одной диагонали. Миша очень любознательный мальчик, поэтому он задумался: сколько клеток будет атаковать слон, если поставить его на клетку с номером строки R
и номером столбца C
на шахматной доске размером N×N
? Напиши на python
python
board = [[' ' for _ in range(N)] for _ in range(N)]
Здесь '_' означает, что переменная не будет использоваться внутри цикла.
Чтобы поставить слона на доску, нужно просто изменить значение клетки, на которой он находится. Например, чтобы поставить слона на клетку (R, C), можно выполнить следующую операцию:
python
board[R][C] = 'B' # 'B' - обозначение слона
Затем нужно пройти по всем клеткам доски и проверить, находится ли каждая клетка на одной диагонали с клеткой, на которой стоит слон. Для этого можно использовать следующий алгоритм:
1. Пройти по каждой клетке доски.
2. Для каждой клетки проверить, находится ли она на одной диагонали с клеткой, на которой стоит слон.
3. Если клетка находится на одной диагонали, увеличить счетчик атакованных клеток.
Диагональные клетки можно определить с помощью следующих свойств: для клетки (row, col) она находится на одной диагонали с клеткой (r, c), если выполняется одно из следующих условий:
1. row - col = r - c (слон находится на главной диагонали)
2. row + col = r + c (слон находится на побочной диагонали)
Применяя эти свойства, можно реализовать следующий код на Python для решения задачи:
python
def count_attacked_cells(N, R, C):
board = [[' ' for _ in range(N)] for _ in range(N)]
board[R][C] = 'B' # поставить слона на доску
count = 0 # счетчик атакованных клеток
for row in range(N):
for col in range(N):
if (row - col == R - C) or (row + col == R + C):
count += 1
return count
N = int(input()) # размер доски
R = int(input()) # номер строки, где стоит слон
C = int(input()) # номер столбца, где стоит слон
result = count_attacked_cells(N, R, C)
print(result)
Теперь можно вызвать функцию `count_attacked_cells` с необходимыми параметрами и получить ответ на задачу.
Например, если размер доски равен 8, номер строки равен 1 и номер столбца равен 1, то слон будет атаковать 15 клеток. Если ввести эти значения в коде и запустить его, то на экране появится число 15.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет