
Кандид
6 год назад
НА ПАСКАЛЕ ABC: Требуется определить, бьет ли конь, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке.
входные данные
1
1
3
2
выходные данные
YES
входные данные
1
1
3
3
выходные данные
NO
Помогите, пожалуйста
ОТВЕТЫ

Foma
Jul 26, 2019
Var
x, y, x1, y1: integer;
begin
readln(x);
readln(y);
readln(x1);
readln(y1);
if(x + 1 = x1) and (y + 2 = y1) and (x + 1 lt; 9) and (y + 2 lt; 9) then begin write(YES);exit; end;
if(x - 1 = x1) and (y + 2 = y1) and (x - 1 gt; 0) and (y + 2 lt; 9) then begin write(YES);exit; end;
if(x + 2 = x1) and (y + 1 = y1) and (x + 2 lt; 9) and (y + 1 lt; 9) then begin write(YES);exit; end;
if(x - 2 = x1) and (y + 1 = y1) and (x - 2 gt; 0) and (y + 1 lt; 9) then begin write(YES);exit; end;
if(x + 1 = x1) and (y - 2 = y1) and (x + 1 lt; 9) and (y - 2 gt; 0) then begin write(YES);exit; end;
if(x + 2 = x1) and (y - 1 = y1) and (x + 2 lt; 9) and (y - 1 gt; 0) then begin write(YES);exit; end;
if(x - 1 = x1) and (y - 2 = y1) and (x - 1 gt; 0) and (y - 2 gt; 0) then begin write(YES);exit; end;
if(x - 2 = x1) and (y - 1 = y1) and (x - 2 gt; 0) and (y - 1 gt; 0) then begin write(YES);exit; end;
write(NO);
end.
begin
readln(x);
readln(y);
readln(x1);
readln(y1);
if(x + 1 = x1) and (y + 2 = y1) and (x + 1 lt; 9) and (y + 2 lt; 9) then begin write(YES);exit; end;
if(x - 1 = x1) and (y + 2 = y1) and (x - 1 gt; 0) and (y + 2 lt; 9) then begin write(YES);exit; end;
if(x + 2 = x1) and (y + 1 = y1) and (x + 2 lt; 9) and (y + 1 lt; 9) then begin write(YES);exit; end;
if(x - 2 = x1) and (y + 1 = y1) and (x - 2 gt; 0) and (y + 1 lt; 9) then begin write(YES);exit; end;
if(x + 1 = x1) and (y - 2 = y1) and (x + 1 lt; 9) and (y - 2 gt; 0) then begin write(YES);exit; end;
if(x + 2 = x1) and (y - 1 = y1) and (x + 2 lt; 9) and (y - 1 gt; 0) then begin write(YES);exit; end;
if(x - 1 = x1) and (y - 2 = y1) and (x - 1 gt; 0) and (y - 2 gt; 0) then begin write(YES);exit; end;
if(x - 2 = x1) and (y - 1 = y1) and (x - 2 gt; 0) and (y - 1 gt; 0) then begin write(YES);exit; end;
write(NO);
end.
60