Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки) Одного ли цвета эти клетки на шахматной доске? Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе
Answers & Comments
bebebeeeshka1234567891011#include <iostream>using namespace std;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int x1, y1, x2, y2; cin>>x1>>y1>>x2>>y2; if ((x1+y1)%2==(x2+y2)%2) cout<<"YES"; else cout<<"NO"; return 0;}
danulpopov
Var a,b : array[1..8, 1..8]of integer; i, j,k, x, y, x1, y1:integer; begin k:=-1; for i:= 1 to 8 do begin k:=-k; for j:= 1 to 8 do begin a[i,j]:=k; b[i,j]:=k; k:= -k; end; end; Readln(x,y); Readln(x1,y1); if (a[x,y] = b[x1,y1]) then Writeln('YES') else Writeln('NO'); end.
2 votes Thanks 1
T4nguS
Можно ли сократить код программы для ускорения?
danulpopov
Для ускорения чего? Работает за O(0), проще говоря мгновенно
Answers & Comments
a,b : array[1..8, 1..8]of integer;
i, j,k, x, y, x1, y1:integer;
begin
k:=-1;
for i:= 1 to 8 do
begin
k:=-k;
for j:= 1 to 8 do
begin
a[i,j]:=k;
b[i,j]:=k;
k:= -k;
end;
end;
Readln(x,y);
Readln(x1,y1);
if (a[x,y] = b[x1,y1]) then Writeln('YES')
else Writeln('NO');
end.
x, y, x1, y1:integer;
begin
Readln(x,y);
Readln(x1,y1);
if (x + y)mod 2 = (x1 + y1)mod 2 then Writeln('YES')
else Writeln('NO');
end.