Вопрос, который вызвал трудности
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число - номер вертикали (при счете слева направо), второе - номер горизонтали (при счете снизу вверх).
На поле (a, b) расположен король. Верно ли, что он может одним ходом попасть на поле (c, d)?
Чтобы попасть на собственное поле, королю нужно два хода.
Значения c и d могут находится вне границ шахматной доски. В этом случае Король в принципе не может попасть на заданное поле.
Формат входных данных
Даны натуральные числа a, b каждое из которых не превосходит 8.
А также числа c,d каждое из которых лежит в интервале [0, 10]
Формат выходных данных
На выходе программы должно быть написано булево значение, определяющее выполняется ли заданное условие
задача на паскаль
Ответ экспертов Учись.Ru
Чтобы дать полноценный ответ, был привлечён специалист, который хорошо разбирается в теме.
После обсуждения с другими специалистами сервиса мы пришли к выводу, что правильный ответ на ваш вопрос будет звучать следующим образом:
Var a,b,c,d:integer; b1,b2:boolean;
begin
readln(a,b,c,d);
b1:=(c in [1..8])and(d in [1..8]);
b2:=(abs(a-c)<=1)and(abs(b-d)<=1)and((a<>c)or(b<>d));
writeln(b1 and b2);
end.
Пример:
5 4 5 3
True