Требуется определить, бьет ли КОНЬ, стоящий на клетке с указанными
координатами (номер строки и номер столбца), фигуру, стоящую на другой
указанной клетке.
Вводятся четыре числа: координаты КОНЯ (два числа) и координаты другой
фигуры (два числа). Координаты вводятся парами, каждая пара в отдельной
строке. Координаты - целые числа в интервале от 1 до 8.
Требуется вывести слово YES, если КОНЬ сможет побить фигуру за 1 ход
и NO - в противном случае.
Примеры:
1) входные данные
1 1
3 3
выходные данные
NO
2) входные данные
1 1
3 2
выходные данные
YES
3) входные данные
1 1
1 4
выходные данные
NO
Замечание 1: КОНЬ ходит русской буквой «Г» (или латинской «L»).
Замечание 2: как вводить 2 значения в одной строке через Пробел НА ПИТО
program HelloWorld;
var a: array of integer;
var N, min, max, i, variable:integer;
begin
min := 32767;
max := 0;
readln(N);
for i := 0 to N do begin
readln(variable);
if (variable > 0) and (variable mod 2 = 0) and (variable > max) then
max := variable;
if (variable > 0) and (variable mod 2 = 0) and (variable < min) then
min := variable;
end;
if (max <> 0) and (min <> 32767) then
writeln(min, ' ', max)
else
writeln(-1);
end.
Возьмём упрощённую версию строки, состоящую из 15 единиц.
Проделав со строкой все операции можно заметить, что после каждого выполнения программы в строке 9 единиц заменяется на одну, значит после каждого выполнения программы становится на 8 единиц меньше. Будем вычитать из 84 "8", пока не останется >5 единиц, чтобы программа смогла работать.
Получается 84-72=12
Напишем 12 единиц и пропустим их через программу, получится
222111 (сначала первые три единицы заменяются на два, потом ещё раз и ещё раз, т.к. в строке находится 11111. 222 заменится на 1 не может, т.к. в строке больше не найдено "11111".
ответ: 222111