1. Заметим, что такими манипуляциями нельзя поменять чётность произведения xy, где (x, y) - текущие координаты корабля. Если угодно, можно представить бесконечное поле для шахмат, корабль ходит как слон - только по диагонали, поэтому цвет поля не меняется.2. Естественно "развернуть" координаты так, чтобы "горизонтальное" и "вертикальное" направления были вдоль диагоналей. Это делается путем преобразования x' = x + y, y' = x - y.3. В новых координатах корабль может ходить по горизонтали и вертикали, при этом в любую достижимую точку он придет не более чем за 2 шага. За 1 шаг он придет, если стоит в той же горизонтали или вертикали.4. Для простоты сдвинем начало координат в начальную точку, тогда точка назначения будет иметь координаты x' = (x2 - x1) + (y2 - y1), y' = (x2 - x1) - (y2 - y1)Решение, PascalABC.NET:begin var inf := OpenRead('INPUT.TXT'); var outf := OpenWrite('OUTPUT.TXT'); var x1, x2, y1, y2: longint; read(inf, x1, y1, x2, y2); if (x1 * y1 - x2 * y2) mod 2 = 0 then begin (x2, y2) := ((x2 - x1) + (y2 - y1), (x2 - x1) - (y2 - y1)); if x2 * y2 = 0 then write(outf, 1) else write(outf, 2); end else write(outf, 0); close(inf); close(outf);end.