> おしどりの遊び
> 12型
> 空空○●○●○●
> ↓
> 空空○○○●●●
Nが2~6では、以下の手順のみとなる。
●N= 2
解なし
●N= 3
No. 1
0 __121212 4
1 211__212 2
2 2__11212 6
3 22111__2 1
4 __111222
●N= 4
No. 1
0 __12121212 3
1 12__121212 8
2 1221121__2 2
3 1__1121222 6
4 12111__222 1
5 __11112222
No. 2
0 __12121212 4
1 211__21212 2
2 2__1121212 6
3 22111__212 9
4 22111122__ 1
5 __11112222
No. 3
0 __12121212 5
1 1212__1212 8
2 1212211__2 4
3 121__11222 6
4 12111__222 1
5 __11112222
No. 4
0 __12121212 7
1 121212__12 4
2 121__22112 8
3 1211122__2 6
4 12111__222 1
5 __11112222
●N= 5
No. 1
0 __1212121212 4
1 211__2121212 2
2 2__112121212 10
3 221112121__2 5
4 2211__121122 9
5 22111112__22 1
6 __1111122222
No. 2
0 __1212121212 4
1 211__2121212 9
2 21112212__12 1
3 __1122122112 5
4 2211__122112 10
5 221111122__2 1
6 __1111122222
No. 3
0 __1212121212 4
1 211__2121212 9
2 21112212__12 1
3 __1122122112 10
4 111122122__2 5
5 1111__122222 1
6 __1111122222
No. 4
0 __1212121212 4
1 211__2121212 9
2 21112212__12 5
3 2111__122212 2
4 2__111122212 10
5 221111122__2 1
6 __1111122222
No. 5
0 __1212121212 4
1 211__2121212 11
2 2111221212__ 5
3 2111__121222 2
4 2__111121222 8
5 2211111__222 1
6 __1111122222
No. 6
0 __1212121212 5
1 1212__121212 8
2 1212211__212 11
3 1212211122__ 4
4 121__1112222 7
5 121111__2222 1
6 __1111122222
No. 7
0 __1212121212 5
1 1212__121212 10
2 121221121__2 1
3 __1221121122 4
4 221__1121122 9
5 22111112__22 1
6 __1111122222
No. 8
0 __1212121212 5
1 1212__121212 10
2 121221121__2 1
3 __1221121122 9
4 11122112__22 4
5 111__1122222 1
6 __1111122222
No. 9
0 __1212121212 6
1 21121__21212 2
2 2__211121212 10
3 221211121__2 3
4 22__11121122 9
5 22111112__22 1
6 __1111122222
No. 10
0 __1212121212 9
1 12121212__12 2
2 1__212122112 5
3 1122__122112 10
4 112211122__2 3
5 11__11122222 1
6 __1111122222
No. 11
0 __1212121212 9
1 12121212__12 4
2 121__2122112 1
3 __1122122112 5
4 2211__122112 10
5 221111122__2 1
6 __1111122222
No. 12
0 __1212121212 9
1 12121212__12 4
2 121__2122112 1
3 __1122122112 10
4 111122122__2 5
5 1111__122222 1
6 __1111122222
No. 13
0 __1212121212 9
1 12121212__12 6
2 12121__22112 3
3 12__11222112 10
4 121111222__2 7
5 121111__2222 1
6 __1111122222
No. 14
0 __1212121212 10
1 211212121__2 5
2 2112__121122 1
3 __1221121122 4
4 221__1121122 9
5 22111112__22 1
6 __1111122222
No. 15
0 __1212121212 10
1 211212121__2 5
2 2112__121122 1
3 __1221121122 9
4 11122112__22 4
5 111__1122222 1
6 __1111122222
No. 16
0 __1212121212 10
1 211212121__2 5
2 2112__121122 2
3 2__211121122 4
4 221__1121122 9
5 22111112__22 1
6 __1111122222
●N= 6
No. 1
0 __121212121212 3
1 12__1212121212 12
2 12211212121__2 5
3 1221__12121122 11
4 1221111212__22 2
5 1__11112122222 8
6 1211111__22222 1
7 __111111222222
No. 2
0 __121212121212 4
1 211__212121212 2
2 2__11212121212 8
3 2211121__21212 11
4 2211121122__12 6
5 22111__1222112 12
6 22111111222__2 1
7 __111111222222
No. 3
0 __121212121212 4
1 211__212121212 11
2 2111221212__12 5
3 2111__12122212 2
4 2__11112122212 8
5 2211111__22212 13
6 221111112222__ 1
7 __111111222222
No. 4
0 __121212121212 4
1 211__212121212 13
2 211122121212__ 5
3 2111__12121222 2
4 2__11112121222 8
5 2211111__21222 11
6 2211111122__22 1
7 __111111222222
No. 5
0 __121212121212 5
1 1212__12121212 8
2 1212211__21212 11
3 1212211122__12 2
4 1__22111222112 12
5 11122111222__2 4
6 111__111222222 1
7 __111111222222
No. 6
0 __121212121212 5
1 1212__12121212 12
2 12122112121__2 7
3 121221__121122 11
4 1212211112__22 4
5 121__111122222 8
6 1211111__22222 1
7 __111111222222
No. 7
0 __121212121212 5
1 1212__12121212 12
2 12122112121__2 9
3 12122112__1122 4
4 121__112221122 11
5 1211111222__22 8
6 1211111__22222 1
7 __111111222222
No. 8
0 __121212121212 6
1 21121__2121212 2
2 2__21112121212 8
3 2212111__21212 11
4 2212111122__12 4
5 221__111222112 12
6 22111111222__2 1
7 __111111222222
No. 9
0 __121212121212 7
1 121212__121212 12
2 12121221121__2 3
3 12__1221121122 11
4 1211122112__22 6
5 12111__1122222 8
6 1211111__22222 1
7 __111111222222
No. 10
0 __121212121212 8
1 2112121__21212 3
2 21__1211221212 12
3 21211211221__2 2
4 2__11211221122 6
5 22111__1221122 11
6 2211111122__22 1
7 __111111222222
No. 11
0 __121212121212 8
1 2112121__21212 5
2 2112__11221212 2
3 2__21111221212 12
4 22121111221__2 3
5 22__1111221122 11
6 2211111122__22 1
7 __111111222222
No. 12
0 __121212121212 8
1 2112121__21212 5
2 2112__11221212 10
3 211221112__212 4
4 211__111222212 2
5 2__11111222212 12
6 22111111222__2 1
7 __111111222222
No. 13
0 __121212121212 8
1 2112121__21212 5
2 2112__11221212 12
3 21122111221__2 4
4 211__111221222 2
5 2__11111221222 10
6 221111112__222 1
7 __111111222222
No. 14
0 __121212121212 8
1 2112121__21212 11
2 2112121122__12 4
3 211__211222112 2
4 2__11211222112 6
5 22111__1222112 12
6 22111111222__2 1
7 __111111222222
No. 15
0 __121212121212 8
1 2112121__21212 11
2 2112121122__12 6
3 21121__1222112 2
4 2__21111222112 4
5 221__111222112 12
6 22111111222__2 1
7 __111111222222
No. 16
0 __121212121212 9
1 12121212__1212 4
2 121__212211212 13
3 121122122112__ 5
4 1211__12211222 10
5 121111122__222 8
6 1211111__22222 1
7 __111111222222
No. 17
0 __121212121212 11
1 1212121212__12 4
2 121__212122112 7
3 121122__122112 12
4 12112211122__2 5
5 1211__11122222 8
6 1211111__22222 1
7 __111111222222
No. 18
0 __121212121212 11
1 1212121212__12 4
2 121__212122112 9
3 12112212__2112 5
4 1211__12222112 12
5 12111112222__2 8
6 1211111__22222 1
7 __111111222222
No. 19
0 __121212121212 11
1 1212121212__12 8
2 1212121__22112 5
3 1212__11222112 2
4 1__22111222112 12
5 11122111222__2 4
6 111__111222222 1
7 __111111222222
No. 20
0 __121212121212 12
1 21121212121__2 3
2 21__1212121122 8
3 2121121__21122 2
4 2__11211221122 6
5 22111__1221122 11
6 2211111122__22 1
7 __111111222222
No. 21
0 __121212121212 12
1 21121212121__2 5
2 2112__12121122 2
3 2__21112121122 8
4 2212111__21122 3
5 22__1111221122 11
6 2211111122__22 1
7 __111111222222
n≧3で、(n+1)回で移動できそうだ。
(証明)
n=k+3(k≧4)について
0手 空空○│●○●○●○● … ○●○●○│●○●
└─ ●○が(k+1)個 ─┘
と3つの部分に分割する。
1手 ●○○│●○●○●○● … ○●○空空│●○● 2*k+4
1個 └─ ●○がk個 ─┘
中央の並び『 ●○●○●○● … ○●○空空 』の部分は、k回で移動できて
k手 ●○○│空空○○○○○ … ●●●●●│●○●
2手 ●空空│○○○○○○○ … ●●●●●│●○● 2*k+6
3手 ●●○│○○○○○○○ … ●●●●●│空空● 1
4手 空空○│○○○○○○○ … ●●●●●│●●●
となり、(k+4)回、すなわち(n+1)回で移動できる。
よって、n=3,4,5,6で成り立っているので、n≧3で成立する。
(証明終り)
一般手順を表示するプログラムと作ってみました。
!おしどりの遊び(12型)の一般手順
LET N=14 !数字の数 ※N≧7
!開始パターン
LET S$="__"&REPEAT$("12",N)
!終了パターン
LET G$="__"&REPEAT$("1",N)&REPEAT$("2",N)
DIM P(0 TO N) !手順 N+1手
LET M=N-3
CALL oshidori(M, P)
FOR i=M TO 0 STEP -1 !M手
LET P(i+1)=P(i)+3 !shift right
NEXT i
LET P(0)=2*M+4 !1手を付加する
LET P(M+1)=2 !2手
LET P(M+2)=2*M+6 !3手
LET P(M+3)=1 !4手
!結果を表示する
PRINT "N=";N
LET M$=S$
FOR i=0 TO N !(N+1)手の手順を表示する
PRINT USING "###: ": i;
PRINT M$; P(i)
LET x=P(i) !移動元
LET y=POS(M$,"__") !移動先
LET w$=M$(x:x+1) !move it
LET M$(x:x+1)="__"
LET M$(y:y+1)=w$
NEXT i
PRINT USING "###: ": N+1;
PRINT M$
END
EXTERNAL SUB oshidori(N, P()) !21型 2121…21__ → __111…222…
DATA 2,5, 8, 1, 0, 0,0 !4
DATA 2,7, 4,10, 1, 0,0 !5
DATA 2,5,10, 6,12, 1,0 !6
DATA 2,9, 6,11, 5,14,1 !7
DIM B(4,7) !N=4~7の手順
MAT READ B
LET M=MOD(N,4)
FOR i=1 TO 7
LET P(i-1)=B(M+1,i)
NEXT i
!再帰的に4手を付加する
LET M=M+4
DO WHILE M<N
FOR i=M-1 TO 0 STEP -1 !k手
LET P(i+2)=P(i)+4 !shift right
NEXT i
LET P(0)=2 !1手を付加する
LET P(1)=2*M+5 !2手
LET P(M+2)=2*M+8 !3手
LET P(M+3)=1 !4手
LET M=M+4
LOOP
END SUB