La sfida
Considera il seguente diagramma del Quindici Puzzle nel suo stato risolto:
_____________________
| | | | |
| 1 | 2 | 3 | 4 |
|____|____|____|____|
| | | | |
| 5 | 6 | 7 | 8 |
|____|____|____|____|
| | | | |
| 9 | 10 | 11 | 12 |
|____|____|____|____|
| | | | |
| 13 | 14 | 15 | |
|____|____|____|____|
Ad ogni mossa, un rompicapo eccitato ha l'opportunità di spostare un pezzo adiacente allo spazio vuoto nello spazio vuoto. Ad esempio, dopo lo 1
spostamento, abbiamo 2
possibili scenari (lasciamo 0
uno spazio vuoto):
1 2 3 4 1 2 3 4
5 6 7 8 5 6 7 8
9 10 11 12 and 9 10 11 0
13 14 0 15 13 14 15 12
Dopo le 2
mosse, il puzzle ha 5
esiti diversi (nota che i due casi precedenti sono esclusi, poiché non possono essere raggiunti in 2 mosse). Una di queste situazioni è lo stato risolto originale e può essere raggiunta in due modi diversi.
Il tuo compito in questa sfida è quello di produrre il numero di risultati diversi che un determinato numero di mosse può portare. Come input, prendi un numero N >= 0
e visualizza il numero di situazioni uniche che possono apparire dopo le N
mosse.
Regole
- Questo è code-golf. Il codice più corto vince!
- Le scappatoie standard non sono ammesse.
- Il tuo codice dovrebbe essere in grado di calcolare il caso
N = 10
entro pochi minuti. Probabilmente non testerò questa regola a meno che non esista un evidente abuso di tempo in una risposta.
Casi test
(Risultati generati dalle somme di OEIS A089484 (come descritto da Geobits nella chat ), automatizzato dalla sceneggiatura di Martin Büttner . Grazie per tutto l'aiuto!)
0 moves: 1
1 moves: 2
2 moves: 5
3 moves: 12
4 moves: 29
5 moves: 66
6 moves: 136
7 moves: 278
8 moves: 582
9 moves: 1224
10 moves: 2530
11 moves: 5162
12 moves: 10338
13 moves: 20706
14 moves: 41159
15 moves: 81548
16 moves: 160159
17 moves: 313392
18 moves: 607501
19 moves: 1173136
20 moves: 2244884
21 moves: 4271406
22 moves: 8047295
23 moves: 15055186
24 moves: 27873613
25 moves: 51197332
26 moves: 93009236
27 moves: 167435388
28 moves: 297909255
29 moves: 524507316
30 moves: 911835416
31 moves: 1566529356
s.add
probabilmente salverebbe alcuni personaggi.