Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8:...

0 голосов
200 просмотров

Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки) Одного ли цвета эти клетки на шахматной доске? Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе


Информатика (138 баллов) | 200 просмотров
Дано ответов: 2
0 голосов
1 2 3 4 5 6 7 8 9 10 11 #include 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}
(33 баллов)
0

1 1 && 2 2

0

Пардон, не правильно прочитал код*

0 голосов

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.

(8.8k баллов)
0

Можно ли сократить код программы для ускорения?

0

Для ускорения чего? Работает за O(0), проще говоря мгновенно

0

1.091s(надо меньше секунды)

0

var
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.

0

Не знаю, что за тестирующая система, которая 20 операций за 1.091 выполняет, но код молодого человека выше должен работатт

0

ну не 20, конечно, а 100, но это сути не меняет

0

1.09s

0

10^8 Операций = 1 cекунда...

0

слишком сложно