** ПАСКАЛЕ ABC: Требуется определить, бьет ли конь, стоящий ** клетке с указанными...

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

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


Информатика | 58 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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 < 9) and (y + 2 < 9) then begin write('YES');exit; end;
  if(x - 1 = x1) and (y + 2 = y1) and (x - 1 > 0) and (y + 2 < 9) then begin write('YES');exit; end;
  if(x + 2 = x1) and (y + 1 = y1) and (x + 2 < 9) and (y + 1 < 9) then begin write('YES');exit; end;
  if(x - 2 = x1) and (y + 1 = y1) and (x - 2 > 0) and (y + 1 < 9) then begin write('YES');exit; end;
  if(x + 1 = x1) and (y - 2 = y1) and (x + 1 < 9) and (y - 2 > 0) then begin write('YES');exit; end;
  if(x + 2 = x1) and (y - 1 = y1) and (x + 2 < 9) and (y - 1 > 0) then begin write('YES');exit; end;
  if(x - 1 = x1) and (y - 2 = y1) and (x - 1 > 0) and (y - 2 > 0) then begin write('YES');exit; end;
  if(x - 2 = x1) and (y - 1 = y1) and (x - 2 > 0) and (y - 1 > 0) then begin write('YES');exit; end;
  write('NO');
end.

(6.9k баллов)