Возьмем 2 города. Из одного в другой выходит 12 дорог. Из второго в первый 12 тех-же самых дорог
Значит дорог всего 2*12/2 = 12 дорог
Возьмем 3 города. Из 1-го во второй уходит 6 дорог, а в третий тоже 6.
Из второго в первый 6 и в третий 6
Из третьего, как уже описано 6 в первый и 6 во второй
12*3 / 2 = 18 дорог в сумме (нарисуй на бумажке и посчитай.)
Видим закономерность.
В числителе изменяется кол-во городов, не изменяется кол-во дорог.
А в знаменателе всегда двойка (можешь попробовать нарисовать схему для 4-х городов. Всё останется как я и описал = 12*4 / 2)
Тогда для 112 городов
112*12 / 2 = 672 дороги.
Если движение (0; 0) -> (0; 1) - это движение вверх по ОY, то поворот на 90 градусов против часовой стрелки даёт R.
Код:
def invert_path(d: str):
r = {
"L": "R",
"R": "L",
}
return r[d]
def dragon(depth: int) -> str:
if depth == 1:
return
yield from dragon(depth-1)
yield "R"
second_part = dragon(depth-1)
yield from (invert_path(x) for x in reversed(list(second_part)))
n = int(input())
print("".join(dragon(n)))
===================================
Если ответ удовлетворил, не забудь отметить его как "Лучший".
var
a, b, c, i, sum : integer;
begin
read (a, b, c);
sum := 0;
for i := b to c do inc (sum, i);
writeln (sum);
end.