слон может атаковать все клетки, которые находятся с ним на одной диагонали. Миша очень любознательный мальчик, поэтому он задумался: сколько клеток будет атаковать слон, если поставить его на клетку с номером строки R
и номером столбца C
на шахматной доске размером N×N
?
пример ввод 8 2 3 вывод 9
ввод 6 6 1 вывод 5
решить на с++
cpp
#include <iostream>
using namespace std;
int main() {
int N, R, C;
cin >> N >> R >> C;
int attackPositive = min(N-1, R+C-2);
int attackNegative = min(N-1, R+C-(N+1));
int totalAttack = attackPositive + attackNegative;
cout << totalAttack << endl;
return 0;
}
Рассмотрим примеры:
1. Ввод: 8 2 3.
Слон находится на клетке с номером строки 2 и номером столбца 3. Диагонали с положительным и отрицательным наклоном будут соответственно: r - c = 2 - 3 = -1 и r + c = 2 + 3 = 5. Количество клеток на этих диагоналях будет равно минимуму между N-1 и R+C-2 и R+C-(N+1) соответственно. Количество клеток на диагонали с положительным наклоном будет равно минимуму между 8-1 и 2+3-2 = 7. Количество клеток на диагонали с отрицательным наклоном будет равно минимуму между 8-1 и 2+3-(8+1) = 7. Всего клеток: 7 + 7 = 14.
Вывод: 14.
2. Ввод: 6 6 1.
Слон находится на клетке с номером строки 6 и номером столбца 1. Диагонали с положительным и отрицательным наклоном будут соответственно: r - c = 6 - 1 = 5 и r + c = 6 + 1 = 7. Количество клеток на этих диагоналях будет равно минимуму между N-1 и R+C-2 и R+C-(N+1) соответственно. Количество клеток на диагонали с положительным наклоном будет равно минимуму между 6-1 и 6+1-2 = 5. Количество клеток на диагонали с отрицательным наклоном будет равно минимуму между 6-1 и 6+1-(6+1) = 5. Всего клеток: 5 + 5 = 10.
Вывод: 10.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет