крайние тролли обнимутся всего один раз, развернутся и уйдут на свой конец улицы, больше никого не встретив.
вторые с краю тролли обнимутся первый раз, развернутся, встретят крайнего тролля, обнимутся с ним, развернутся, опять встретятся-обнимутся, и, развернувшись уйдут на конец улицы больше никого не встретив (крайний тролль то уже ушел...) итого 3 обнимания.
Продолжая эту цепочку получаем
1 3 5 7 9 11 12 11 9 7 5 3 1
отличается только первый тролль из семерки, поскольку он в результате уйдет не на свой конец улицы, а на противоположный...
program twonumbers;
var
first, second: integer;
begin
read(first, second);
if ((first + second) mod 3 = 0) then
write(first * second)
else
begin
first := first * 2;
second := second * 2;
write(first, ' ', second);
end;
end.
Объяснение:
program twonumbers; // Название программы
var
first, second: integer; // Целочисленные переменные, хранящие вводимые с клавиатуры значения
begin // Начало программы
read(first, second); // Считываем 2 целых числа с клавиатуры
if ((first + second) mod 3 = 0) then // Если сумма чисел кратна 3
write(first * second) // Выводим их произведение
else // Иначе
begin // Начало цикла
first := first * 2; // Увеличиваем первое вдвое
second := second * 2; // Увеличиваем второе вдвое
write(first, ' ', second); // Выводим их
end; // Конец цикла
end. // Конец программы
84
Пошаговое объяснение:
крайние тролли обнимутся всего один раз, развернутся и уйдут на свой конец улицы, больше никого не встретив.
вторые с краю тролли обнимутся первый раз, развернутся, встретят крайнего тролля, обнимутся с ним, развернутся, опять встретятся-обнимутся, и, развернувшись уйдут на конец улицы больше никого не встретив (крайний тролль то уже ушел...) итого 3 обнимания.
Продолжая эту цепочку получаем
1 3 5 7 9 11 12 11 9 7 5 3 1
отличается только первый тролль из семерки, поскольку он в результате уйдет не на свой конец улицы, а на противоположный...