На с++ с тернарной операцией поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). определите, являются ли поля (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
Тернарная операция в 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;
}