Давай сравним все 4 числа между собой, найдём максимальное и вычтем из него N.
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b, c, d, n;
cin >> a >> b >> c >> d >> n;
if (a > b && a > c && a > d)
a -= n;
else if (b > a && b > c && b > d)
b -= n;
else if (c > a && c > b && c > d)
c -= n;
else d -= n;
cout << a << " " << b << " " << c << " " << d << endl;
return 0;
}
Тернарная операция в 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;
}
x1, y1, x2, y2, x3, y3, a, b, c, p, s: real;
begin
readln(x1, y1, x2, y2, x3, y3);
a:=sqrt(sqr(abs(x1-x2))+sqr(abs(y1-y2)));
b:=sqrt(sqr(abs(x2-x3))+sqr(abs(y2-y3)));
c:=sqrt(sqr(abs(x1-x3))+sqr(abs(y1-y3)));
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
if s=0 then write('Лежат на одной прямой') else write('Не лежат на одной прямой');
end.
Объясняю. Образуем из этих трёх точек треугольник. a, b, c - стороны треугольника. p - полу-периметр треугольника. s - площадь треугольника. Площадь вычисляется по формуле Герона. Если площадь равна нуля, значит точки лежат на одной прямой. Если нет - не лежат.