Змагання
Розглянемо наступну схему П’ятнадцяти головоломки в її розв’язаному стані:
_____________________
| | | | |
| 1 | 2 | 3 | 4 |
|____|____|____|____|
| | | | |
| 5 | 6 | 7 | 8 |
|____|____|____|____|
| | | | |
| 9 | 10 | 11 | 12 |
|____|____|____|____|
| | | | |
| 13 | 14 | 15 | |
|____|____|____|____|
При кожному русі збуджений головоломка має можливість перемістити одну частину, що прилягає до порожнього простору, у порожній простір. Наприклад, після 1
переміщення ми маємо 2
можливі сценарії (нехай це 0
буде порожнє місце):
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
Після 2
ходів головоломки мають 5
різні результати (зауважте, що два випадки, викладені вище, виключаються, оскільки їх не можна досягти за 2 ходи). Однією з таких ситуацій є вихідний розв’язаний стан, і його можна досягти двома різними способами.
Ваше завдання в цьому виклику - створити кількість різних результатів, до яких може призвести певна кількість кроків. В якості введення даних візьміть число N >= 0
та виведіть кількість унікальних ситуацій, які можуть з’явитися після N
переїздів.
Правила
- Це код-гольф. Найкоротший код виграє!
- Стандартні лазівки заборонені.
- Ваш код повинен мати можливість обчислити справу
N = 10
протягом декількох хвилин. Я, швидше за все, не перевіряю це правило, якщо у відповіді не буде очевидного зловживання часом.
Випробування
(Результати, отримані з підсумків OEIS A089484 (як Геобітс описано в чаті ), автоматизованого сценарієм Мартина Бюттнера . Дякую за всю допомогу!)
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
, ймовірно, рятує деяких персонажів.