Files

2.2 KiB
Raw Permalink Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4481000cf542c50ff5b Завдання 220: Крива Дракона 5 301863 problem-220-heighway-dragon

--description--

Нехай D_0 — двобуквений рядок "Fa". Для n ≥ 1, отримуємо D_n з D_{n - 1} за правилами перезапису рядків:

  • "a" → "aRbFR"
  • "b" → "LFaLb"

Отримуємо D_0 = "Fa", D_1 = "FaRbFR", D_2 = "FaRbFRRLFaLbFR" і так далі.

Ці рядки можна вважати інструкцією до програми комп'ютерної графіки, де "F"означає "просунути вперед одну одиницю", "L" "розвернути на 90 градусів уліво", "R" "розвернути на 90 градусів вправо", але "a" і "b" ігноруються. Комп'ютерний курсор знаходиться в початковому положенні (0,0), спрямований вгору в напрямку до (0,1).

Тоді D_n екзотичний малюнок, відомий як Крива Дракона порядку n. Наприклад, D_{10} зображено нижче; кожну "F" вважаємо за один крок, виділене місце в (18,16) позиція, отримана після 500 кроків.

малюнок Кривої Дракона після 500 кроків

Де буде розташовано курсор після {10}^{12} кроків в D_{50}? Дайте свою відповідь у вигляді рядка x,y без пробілів.

--hints--

heighwayDragon() має повернути рядок.

assert(typeof heighwayDragon() === 'string');

heighwayDragon() має повернути рядок 139776,963904.

assert.strictEqual(heighwayDragon(), '139776,963904');

--seed--

--seed-contents--

function heighwayDragon() {

  return true;
}

heighwayDragon();

--solutions--

// solution required