Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Если числа a, b положительные, значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Например, если Чертёжник находится в точке с координатами (1, 1), то команда Сместиться на (–2, 4) переместит Чертёжника в точку (–1, 5). Запись
Повтори k раз
Команда1 Команда2 Команда3
Конец
означает, что последовательность команд Команда1 Команда2 Команда3 повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Сместиться на (–3, 1)
Повтори 2 раз
Сместиться на (1, 1) Сместиться на (−3, 2) Сместиться на (0,−4)
Конец
Какую единственную команду надо выполнить Чертёжнику, чтобы вернуться в исходную точку, из которой он начал движение?
begin
var s:=ReadLnString('Вводите:');
s.ToWords.Where(x->x=ReverseString(x)).PrintLn;
end.
Тестовое решение:
Вводите: дед иван достал наган и пошел с ним в шалаш
дед наган и с в шалаш
Вариант, если исключить однобуквенные:
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016
begin
var s:=ReadLnString('Вводите:');
s.ToWords.Where(x->x=ReverseString(x)).
Where(x->x.Length>1).PrintLn;
end.
Тестовое решение:
Вводите: дед иван достал наган и пошел с ним в шалаш
дед наган шалаш