Ход слона Шахматный слон ходит по диагонали. Даны две различные клетки шахматной доски, определите, может ли слон попасть с первой клетки на вторую одним ходом.
Входные данные
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Выходные данные
Программа должна вывести YES, если из первой клетки ходом слона можно попасть во вторую, или NO в противном случае.
Примеры
Ввод
Примеры
Ввод
4
4
5
5
Вывод
YES
Ввод
4
4
5
4
Вывод No
ПИСАТЬ НА С++
Для решения данной задачи нам необходимо определить, может ли шахматный слон попасть с одной клетки на другую по диагонали.
Для начала, давайте разберемся в том, как ходит слон. Слон может двигаться только по диагонали, то есть он может перемещаться только на клетки, которые лежат на одной диагонали с его исходной клеткой. Диагонали на шахматной доске идут под углами 45 градусов к горизонтали.
Таким образом, если две клетки лежат на одной диагонали, то слон может попасть с одной клетки на другую одним ходом.
Чтобы решить данную задачу, нам необходимо сравнить разности между столбцами и строками исходных и конечных клеток. Если разности по модулю совпадают, то клетки лежат на одной диагонали и слон может попасть на конечную клетку одним ходом. Если разности не совпадают, то слон не может попасть на конечную клетку одним ходом.
Теперь приступим к написанию программы на C++:
```cpp
#include
#include
int main() {
int column1, row1, column2, row2;
std::cin >> column1 >> row1 >> column2 >> row2;
// вычисляем разности между столбцами и строками
int diffColumn = std::abs(column1 - column2);
int diffRow = std::abs(row1 - row2);
// проверяем, лежат ли клетки на одной диагонали
if (diffColumn == diffRow) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
```
В данной программе мы используем переменные `column1`, `row1`, `column2`, `row2` для хранения номеров столбцов и строк исходной и конечной клеток. Затем мы считываем эти значения с помощью `std::cin >>`.
Далее мы вычисляем разности между столбцами (`diffColumn`) и строками (`diffRow`) с помощью функции `std::abs()`, чтобы получить модуль разности.
Затем мы сравниваем `diffColumn` и `diffRow`. Если они равны, то выводим "YES", иначе выводим "NO" с помощью `std::cout <<`.
Таким образом, программа определит, может ли слон попасть с одной клетки на другую одним ходом и выведет соответствующий ответ.
Надеюсь, это поможет вам понять решение этой задачи! Если у вас возникнут еще вопросы, не стесняйтесь задавать."