Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:- Pascal(Паскаль)


Выяснить, можно ли с поля (k, l) одним ходом слона попасть на поле (m, n). Если нет, то выяснить, как это можно сделать за два хода (указать поле, на которое приводит первый ход).
Предполагается, что указанные поля имеют один и тот же цвет.

var
x:array[1..3]of integer;
y:array[1..3]of integer;
begin
 readln(x[1],y[1],x[2],y[2]);
 if((x[1]+x[2]+y[1]+y[2]) mod 2 = 0) then begin
  if (abs(x[1]-x[2])=abs(y[1]-y[2])) then begin
   writeln('mona');
  end
  else begin
   x[3]:=(x[1]+y[1]+x[2]-y[2])div 2;
   y[3]:=(x[1]+y[1]-x[2]+y[2])div 2;
   if (x[3]>8) or (x[3]<1) or (y[3]>8) or (y[3]<1) then begin
    x[3]:=(x[2]+y[2]+x[1]-y[1])div 2;
    y[3]:=(x[2]+y[2]-x[1]+y[1])div 2;
   end;
   writeln('Nea, nado cherez ',x[3],',',y[3]);
  end;
 end
 else
 writeln('Raznii zvet');
 readln;
end.

Leave a Comment

− 4 = 3