#include <iostream>
using ll = long long;
using ld = long double;
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
#define three cout << "Равносторонний"
#define two cout << "Равнобедренный"
#define one cout << "Разносторонний"
using namespace std;
bool exist(ll a, ll b, ll c){
return (a + b > c) && (a + c > b) && (b + c > a);
}
void type(ll a, ll b, ll c){
if(a == b && b == c)
three;
else if(a == b || b == c || a == c)
two;
else
one;
}
signed main() {
ll a,b,c;
cin >> a >> b >> c;
if(exist(a,b,c)){
yes;
type(a,b,c);
} else
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;
}