• Предмет: Информатика
  • Автор: mashazvezda123456789
  • Вопрос задан 7 лет назад

На с++ с тернарной операцией
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Определите, являются ли поля (a,b) и (c,d) полями одного цвета.

Формат входных данных
Вводятся натуральные числа a, b, c и d (1≤a,b,c,d≤8).
Формат выходных данных
Требуется вывести «YES», если поля одного цвета, и «NO» в противном случае.
Примечания
Левое нижнее поле черного цвета.
Примеры
входные данные выходные данные
1 1 3 3
YES
2 2 4 5
NO

Ответы

Ответ дал: DexelGamer
0

P.S.

Тернарная операция в C++ - это выражение вида (b ? x : y) (где b - логическое выражение, а x и y - одного типа). Она вернёт x, если выражение b истинно, и y, если b ложно.


Решение

В приложении расписаны координаты некоторых клеток, а также помечены точками те, которые по цвету отличаются от не помеченных. Если поискать, что у них общего, можно обнаружить, что у "невыколотых" клеток сумма координат по горизонтали и вертикали - чётная. Это "свойство" и используем для определения цвета клетки.


Код

#include <bits/stdc++.h>

using namespace std;

int main() {

 int x1, y1, x2, y2;

 cin >> x1 >> y1 >> x2 >> y2;

 cout << ((x1 + y1) % 2 == (x2 + y2) % 2 ? "YES" : "NO") << endl;

 return 0;

}


Приложения:
Похожие вопросы