3
|
Задача 401. Драконы Хартера–Хейтуэяпостоянный адрес задачи: http://www.diofant.ru/problem/1801/показать код для вставки на свой сайт >> |
Задачу решили:
3
всего попыток:
4
поделиться задачей:
|
|
Задача опубликована:
23.05.11 08:00
Прислал:
admin
Источник:
Проект "Эйлер" (http://projecteuler.net)
Вес:
1
сложность:
3
класс:
11 и старше
баллы: 100
Темы:
планиметрия,
комбинаторика
|
|
Будем строить последовательность строк D0, D1,… Dn …следующим образом.
Пусть D0, - двухбуквенная строка "Fa". Для n, больших нуля, построим строку Dn, заменяя все вхождения символов "a" и "b" в строке Dn-1 следующим образом:
"a" "aRbFR"
"b" "LFaLb"
Тогда получим, что D0 = "Fa", D1 = "FaRbFR", D2 = "FaRbFRRLFaLbFR", и так далее.
Теперь предположим, что полученная строка является программой для плоттера, в которой символ "F" означает движение пера вперед на единицу, "R" – поворот на 90 градусов направо, а "L" – поворот на 90 градусов влево. Символы "a" и "b" на рисунок не влияют. Начальное положение пера – в начале координат (0,0), а начальное направление движения – вверх (0,1).
Получив на вход строку Dn, плоттер вычертит замысловатую ломаную, называемую "Дракон Хартера – Хейтуэя порядка n". Например, на рисунке ниже показан дракон D10. Если по команде "F" перо сдвигалось на один шаг, то в отмеченную голубым точку оно попало после 500 шагов. Ее координаты – (18,16).
Теперь представим, что плоттер начертил дракона 50-го порядка. На нем отметили точки L и M, в которые перо попало, соответственно, после 1012 и 1013 шагов. Найдите расстояние |LM|. Результат округлите вниз до целого.
Если Вы не можете ее решить, значит Вы не можете ее решить :-)