Files
freeCodeCamp/curriculum/challenges/ukrainian/10-coding-interview-prep/project-euler/problem-244-sliders.md

2.9 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4601000cf542c50ff72 Завдання 244: П'ятнашки 5 301891 problem-244-sliders

--description--

Напевно, ви знаєте гру П'ятнашки. У цьому варіанті замість плиток з числами маємо сім червоних плиток та вісім синіх плиток.

Ходи позначаються першою буквою напрямку (Left, Right, Up, Down), за яким пересуваємо плитку. Наприклад, починаючи з конфігурації (S), з послідовністю ходів LULUR отримуємо конфігурацію (E):

(S) configuration S, (E) конфігурація E

Для кожного шляху його контрольна сума обчислюється так (псевдокод):

\begin{align} & \text{checksum} = 0 \\\\ & \text{checksum} = (\text{checksum} × 243 + m_1) \\; \text{mod} \\; 100\\,000\\,007 \\\\ & \text{checksum} = (\text{checksum} × 243 + m_2) \\; \text{mod} \\; 100\\,000\\,007 \\\\ & \ldots \\\\ & \text{checksum} = (\text{checksum} × 243 + m_n) \\; \text{mod} \\; 100\\,000\\,007 \end{align}

де m_k — ASCII код букви k^{\text{th}} в послідовності ходів. Ось ASCII коди для ходів:

\begin{array}{|c|c|} \hline L & 76 \\\\ \hline R & 82 \\\\ \hline U & 85 \\\\ \hline D & 68 \\\\ \hline \end{array}

Для послідовності LULUR, зазначеної вище, контрольна сума становить 19761398. Тепер почавши з конфігурації (S), знайдіть усі найкоротші шляхи, щоб досягти конфігурації (T).

(S) configuration S, (T) конфігурація T

Яка сума всіх контрольних сум для найкоротших шляхів?

--hints--

sliders() має повернути 96356848.

assert.strictEqual(sliders(), 96356848);

--seed--

--seed-contents--

function sliders() {

  return true;
}

sliders();

--solutions--

// solution required