2.5 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f4601000cf542c50ff72 | Problema 244: Sliders | 5 | 301891 | problem-244-sliders |
--description--
Probabilmente conosci il gioco Fifteen Puzzle. Qui, invece di piastrelle numerate, abbiamo sette piastrelle rosse e otto piastrelle blu.
Una mossa è indicata dall'iniziale maiuscolo della direzione (sinistra, destra, alto, giù) in cui la piastrella è fatta scorrere, ad esempio partendo dalla configurazione (S
), dalla sequenza LULUR
raggiungiamo la configurazione (E
):
(S
) , (E
)
Per ogni percorso, il suo checksum è calcolato con (pseudocodice):
\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}
dove m_k
è il valore ASCII della k^{\text{th}}
-ma lettera nella sequenza di movimento e i valori ASCII per le mosse sono:
\begin{array}{|c|c|} \hline L & 76 \\\\ \hline R & 82 \\\\ \hline U & 85 \\\\ \hline D & 68 \\\\ \hline \end{array}
Per la sequenza LULUR
riportata sopra, il checksum sarebbe 19761398. Ora, partendo dalla configurazione (S
), trova tutti i modi più brevi per raggiungere la configurazione (T
).
(S
) , (T
)
Qual è la somma di tutti i checksum per i percorsi che hanno la lunghezza minima?
--hints--
sliders()
dovrebbe restituire 96356848
.
assert.strictEqual(sliders(), 96356848);
--seed--
--seed-contents--
function sliders() {
return true;
}
sliders();
--solutions--
// solution required