도전
해결 된 상태의 다음 15 개 퍼즐 다이어그램을 고려하십시오.
_____________________
| | | | |
| 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
몇 분 안에 사례를 계산할 수 있어야합니다 . 대답에 명백한 시간 남용이 없으면이 규칙을 테스트하지 않을 것입니다.
테스트 사례
( Martin Büttner의 스크립트에 의해 자동화 된 OEIS A089484 ( 채팅에 설명 된 Geobits)의 요약에서 생성 된 결과 입니다. 모든 도움에 감사드립니다!)
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
은 아마도 일부 문자를 저장했을 것입니다.