すのものの「いろいろ」の 《ハノイの塔>神官が酔っぱらってしまった場合》 から独立させたものです。
神官は酔っているので、三本の棒からランダムに一本を選び、 その棒以外の二本の棒の一番上の円盤を比べ、 小さいほうを大きいほうの上に移動する。
三本の棒の一番上の円盤は「大」「中」「小」。 「小を中の上に移す」「小を大の上に移す」「中を大の上に移す」を等しい確率で選び、 実行することに当たる。
(ある棒に円盤がまったくささっていない場合のことは説明を省略する。)
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 4 /* 円盤の枚数 */ int a[N]; /* 円盤の配置。棒 0, 1, 2 のどれにささっているか */ int count = 0; void show(void); int isend(void); int main() { int i, r; srand((unsigned)time(NULL)); /* 現在時刻を乱数の種に */ for (i = 0; i < N; i++) { /* 円盤の配置をランダムに初期化 */ a[i] = rand() % 3; } while (show(), isend() == 0) { r = rand() % 3; /* ランダムに一本の棒を選ぶ */ for (i = 0; i < N; i++) { /* その棒にささっていない円盤のうち最小のものをさがす */ if (a[i] != r) { a[i] = 3 - a[i] - r; break; /* それを第三の棒に移す */ } } } } /* 一つの棒にすべてささっていたら 1, そうでなければ 0 */ int isend(void) { int i; for (i = 1; i < N; i++) { if (a[0] == a[i]) { ; } else { return 0; } } return 1; } /* 円盤の配置を表示 */ void show(void) { int i, j; printf("%12d:", count++); for (j = 0; j <= 2; j++) { /* j は棒の番号 */ printf(" "); for (i = 0; i < N; i++) { /* i は円盤の番号 */ if (a[i] == j) { printf("%x", i%16); /* 十六進で下一けたのみを表示 */ } else { printf("-"); /* 空きの印 */ } } printf("|"); /* 床の印 */ } printf("\n"); }
出力例。
0: ---3| --2-| 01--| 1: ---3| 0-2-| -1--| 2: 0--3| --2-| -1--| 3: 0--3| -12-| ----| 4: ---3| -12-| 0---| 5: -1-3| --2-| 0---| 6: -1-3| 0-2-| ----| 7: -1-3| --2-| 0---| 8: ---3| -12-| 0---| 9: -1-3| --2-| 0---| 10: 01-3| --2-| ----| 11: -1-3| --2-| 0---| 12: ---3| -12-| 0---| 13: 0--3| -12-| ----| 14: ---3| 012-| ----| 15: ---3| -12-| 0---| 16: ---3| 012-| ----| 17: ----| 012-| ---3| 18: ----| -12-| 0--3| 19: ----| 012-| ---3| 20: 0---| -12-| ---3| 21: ----| 012-| ---3| 22: ----| -12-| 0--3| 23: -1--| --2-| 0--3| 24: -1--| 0-2-| ---3| 25: 01--| --2-| ---3| 26: -1--| 0-2-| ---3| 27: 01--| --2-| ---3| 28: -1--| --2-| 0--3| 29: 01--| --2-| ---3| 30: -1--| --2-| 0--3| 31: ----| -12-| 0--3| 32: -1--| --2-| 0--3| 33: 01--| --2-| ---3| 34: -1--| 0-2-| ---3| 35: -1--| --2-| 0--3| 36: -1--| 0-2-| ---3| 37: -1--| --2-| 0--3| 38: -1--| 0-2-| ---3| 39: -1--| --2-| 0--3| 40: ----| -12-| 0--3| 41: 0---| -12-| ---3| 42: 0---| --2-| -1-3| 43: ----| --2-| 01-3| 44: ----| 0-2-| -1-3| 45: 0---| --2-| -1-3| 46: ----| 0-2-| -1-3| 47: -1--| 0-2-| ---3| 48: ----| 0-2-| -1-3| 49: 0---| --2-| -1-3| 50: ----| 0-2-| -1-3| 51: -1--| 0-2-| ---3| 52: -1--| --2-| 0--3| 53: 01--| --2-| ---3| 54: 01--| ----| --23| 55: -1--| 0---| --23| 56: ----| 0---| -123| 57: 0---| ----| -123| 58: 0---| -1--| --23| 59: ----| 01--| --23| 60: 0---| -1--| --23| 61: ----| 01--| --23| 62: 0---| -1--| --23| 63: ----| -1--| 0-23| 64: ----| 01--| --23| 65: 0---| -1--| --23| 66: 0---| ----| -123| 67: ----| 0---| -123| 68: ----| ----| 0123|
円盤が 6 枚までは割とすぐに終わる。 7 枚だとちょっと辛抱が必要だ。 8 枚になるとすぐには終わるような気がしない。
絶対にゴールに到達しない初期配置はない。 このことは、円盤 0 と円盤 1 を重ねることができ、 この二枚をあたかも一枚であるかのようにして移動できることから、 数学的帰納法で示せる(と思う)。
ゴールまでの最小ステップ数は、一回の動きで 1 だけ減るか増えるか、 あるいは変わらないか、である。(一番大きな円盤が動くときは変わらない。) それを簡単に計算できないか。
10 枚が、いま終わった。2251669 ステップだった。
2021-12-24 (5) 20:46:48 +0900
N = 4 の場合の出力例。 局面の右の数は、最初が「あと何手か」、次が「最善の手は何か」。 先に表を出力し、あとからランダムウォークで遊ぶ。 (最善の手は、『その棒以外の間で円盤を動かす』、と読む。)
最大ステップ数は 7 です. 表を作るのに 0 秒かかりました. 0123| ----| ----| 0 -123| 0---| ----| 1 2 -123| ----| 0---| 1 1 0-23| -1--| ----| 3 1 --23| 01--| ----| 3 0 --23| -1--| 0---| 2 2 0-23| ----| -1--| 3 2 --23| 0---| -1--| 2 1 --23| ----| 01--| 3 0 01-3| --2-| ----| 7 2 -1-3| 0-2-| ----| 6 1 -1-3| --2-| 0---| 7 0 0--3| -12-| ----| 6 0 ---3| 012-| ----| 7 2 ---3| -12-| 0---| 7 1 0--3| --2-| -1--| 5 1 ---3| 0-2-| -1--| 5 0 ---3| --2-| 01--| 4 2 01-3| ----| --2-| 7 1 -1-3| 0---| --2-| 7 0 -1-3| ----| 0-2-| 6 2 0--3| -1--| --2-| 5 2 ---3| 01--| --2-| 4 1 ---3| -1--| 0-2-| 5 0 0--3| ----| -12-| 6 0 ---3| 0---| -12-| 7 2 ---3| ----| 012-| 7 1 012-| ---3| ----| 7 2 -12-| 0--3| ----| 6 1 -12-| ---3| 0---| 7 0 0-2-| -1-3| ----| 6 0 --2-| 01-3| ----| 7 2 --2-| -1-3| 0---| 7 1 0-2-| ---3| -1--| 5 1 --2-| 0--3| -1--| 5 0 --2-| ---3| 01--| 4 2 01--| --23| ----| 3 1 -1--| 0-23| ----| 3 0 -1--| --23| 0---| 2 2 0---| -123| ----| 1 2 ----| 0123| ----| 0 ----| -123| 0---| 1 0 0---| --23| -1--| 2 0 ----| 0-23| -1--| 3 2 ----| --23| 01--| 3 1 01--| ---3| --2-| 4 0 -1--| 0--3| --2-| 5 2 -1--| ---3| 0-2-| 5 1 0---| -1-3| --2-| 7 1 ----| 01-3| --2-| 7 0 ----| -1-3| 0-2-| 6 2 0---| ---3| -12-| 7 2 ----| 0--3| -12-| 6 1 ----| ---3| 012-| 7 0 012-| ----| ---3| 7 1 -12-| 0---| ---3| 7 0 -12-| ----| 0--3| 6 2 0-2-| -1--| ---3| 5 2 --2-| 01--| ---3| 4 1 --2-| -1--| 0--3| 5 0 0-2-| ----| -1-3| 6 0 --2-| 0---| -1-3| 7 2 --2-| ----| 01-3| 7 1 01--| --2-| ---3| 4 0 -1--| 0-2-| ---3| 5 2 -1--| --2-| 0--3| 5 1 0---| -12-| ---3| 7 1 ----| 012-| ---3| 7 0 ----| -12-| 0--3| 6 2 0---| --2-| -1-3| 7 2 ----| 0-2-| -1-3| 6 1 ----| --2-| 01-3| 7 0 01--| ----| --23| 3 2 -1--| 0---| --23| 2 1 -1--| ----| 0-23| 3 0 0---| -1--| --23| 2 0 ----| 01--| --23| 3 2 ----| -1--| 0-23| 3 1 0---| ----| -123| 1 1 ----| 0---| -123| 1 0 ----| ----| 0123| 0 さあ、遊びましょう. 0: --2-| 0--3| -1--| 5 0 1: --2-| ---3| 01--| 4 2 2: --2-| 0--3| -1--| 5 0 3: --2-| ---3| 01--| 4 2 4: --2-| 0--3| -1--| 5 0 5: --2-| ---3| 01--| 4 2 6: --2-| 0--3| -1--| 5 0 7: -12-| 0--3| ----| 6 1 8: -12-| ---3| 0---| 7 0 9: -12-| 0--3| ----| 6 1 10: --2-| 0--3| -1--| 5 0 11: 0-2-| ---3| -1--| 5 1 12: --2-| ---3| 01--| 4 2 13: 0-2-| ---3| -1--| 5 1 14: 0-2-| -1-3| ----| 6 0 15: --2-| -1-3| 0---| 7 1 16: -12-| ---3| 0---| 7 0 17: -12-| 0--3| ----| 6 1 18: -12-| ---3| 0---| 7 0 19: --2-| -1-3| 0---| 7 1 20: -12-| ---3| 0---| 7 0 21: 012-| ---3| ----| 7 2 22: -12-| 0--3| ----| 6 1 23: --2-| 0--3| -1--| 5 0 24: -12-| 0--3| ----| 6 1 25: -12-| ---3| 0---| 7 0 26: 012-| ---3| ----| 7 2 27: -12-| ---3| 0---| 7 0 28: 012-| ---3| ----| 7 2 29: -12-| ---3| 0---| 7 0 30: 012-| ---3| ----| 7 2 31: -12-| 0--3| ----| 6 1 32: 012-| ---3| ----| 7 2 33: 012-| ----| ---3| 7 1 34: 012-| ---3| ----| 7 2 35: -12-| ---3| 0---| 7 0 36: 012-| ---3| ----| 7 2 37: -12-| ---3| 0---| 7 0 38: --2-| -1-3| 0---| 7 1 39: -12-| ---3| 0---| 7 0 40: -12-| 0--3| ----| 6 1 41: 012-| ---3| ----| 7 2 42: -12-| 0--3| ----| 6 1 43: --2-| 0--3| -1--| 5 0 44: -12-| 0--3| ----| 6 1 45: -12-| ---3| 0---| 7 0 46: --2-| -1-3| 0---| 7 1 47: -12-| ---3| 0---| 7 0 48: -12-| 0--3| ----| 6 1 49: --2-| 0--3| -1--| 5 0 50: -12-| 0--3| ----| 6 1 51: -12-| ---3| 0---| 7 0 52: -12-| 0--3| ----| 6 1 53: -12-| ---3| 0---| 7 0 54: --2-| -1-3| 0---| 7 1 55: 0-2-| -1-3| ----| 6 0 56: 0-2-| ---3| -1--| 5 1 57: --2-| 0--3| -1--| 5 0 58: --2-| ---3| 01--| 4 2 59: --2-| 0--3| -1--| 5 0 60: 0-2-| ---3| -1--| 5 1 61: --2-| ---3| 01--| 4 2 62: --2-| 0--3| -1--| 5 0 63: -12-| 0--3| ----| 6 1 64: -12-| ---3| 0---| 7 0 65: --2-| -1-3| 0---| 7 1 66: --2-| 01-3| ----| 7 2 67: ----| 01-3| --2-| 7 0 68: ----| -1-3| 0-2-| 6 2 69: 0---| -1-3| --2-| 7 1 70: ----| -1-3| 0-2-| 6 2 71: ----| 01-3| --2-| 7 0 72: 0---| -1-3| --2-| 7 1 73: ----| -1-3| 0-2-| 6 2 74: 0---| -1-3| --2-| 7 1 75: ----| -1-3| 0-2-| 6 2 76: 0---| -1-3| --2-| 7 1 77: ----| -1-3| 0-2-| 6 2 78: -1--| ---3| 0-2-| 5 1 79: 01--| ---3| --2-| 4 0 80: 01--| --23| ----| 3 1 81: -1--| --23| 0---| 2 2 82: ----| -123| 0---| 1 0 83: ----| 0123| ----| 0
プログラム。#if 1 を #if 0 にすれば、表を出力するのみ、となる。
(コメントするのを忘れたが、円盤の位置を表の index の三進表示とみなしている。)
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <time.h> #define N 4 /* 円盤の枚数 */ int a[N]; /* 円盤の位置。各要素は 0 か 1 か 2 */ void num2array(int n); int array2num(void); int isend0(void); void show(int count); int isend(void); int count = 0; /* 通算何手目かを示す */ int *s; /* 表へのポインタ(その1)*/ char *m; /* 表へのポインタ(その2)*/ int size; /* 表のサイズ */ int main() { int step, rod, i, j; time_t time0, time1; time0 = time(NULL); size = 1; /* size を 3 の N 乗とする */ for (i = 0; i < N; i++) { size *= 3; } if ((s = malloc(sizeof(int) * size)) == NULL) { fprintf(stderr, "not enough memory.\n"); exit(1); } if ((m = calloc(size, sizeof(char))) == NULL) { fprintf(stderr, "not enough memory.\n"); exit(1); } for (i = 0; i < size; i++) { s[i] = INT_MAX; /* 配列 s[ ] をすべて INT_MAX で埋める */ } for (i = 0; i < 3; i++) { /* “あがり”の形は「あと 0 手」 */ for (j = 0; j < N; j++) { a[j] = i; } s[array2num()] = 0; } /* 0 ステップから始めて、そこから 1 ステップのものは 1, …… と埋めてゆく */ for (step = 0; isend0() == 0; step++) { for (i = 0; i < size; i++) { if (s[i] == step) { num2array(i); rod = a[0]; /* 一番小さい円盤の位置を保存 */ a[0] = (rod + 1) % 3; /* 一番小さい円盤をずらす */ j = array2num(); if (s[j] > step + 1) { s[j] = step + 1; } if (s[j] == step + 1) { /* 手 (move) のセット */ m[j] |= (1 << (3 - a[0] - rod)); } a[0] = (rod + 2) % 3; /* 一番小さい円盤をもひとつずらす */ j = array2num(); if (s[j] > step + 1) { s[j] = step + 1; } if (s[j] == step + 1) { /* 手 (move) のセット */ m[j] |= (1 << (3 - a[0] - rod)); } a[0] = rod; /* 一番小さい円盤を元に戻す */ for (j = 1; j < N && a[j] == rod; j++) { /* 一番小さい円盤とは違う… */ ; /* 棒にささっている円盤で… */ } /* 一番小さいものをさがす */ if (j == N) { /* なかった場合 */ continue; } /* あった場合 */ a[j] = 3 - rod - a[j]; /* その円盤を移動 */ j = array2num(); if (s[j] > step + 1) { s[j] = step + 1; } if (s[j] == step + 1) { /* 手 (move) のセット */ m[j] |= (1 << rod); } } } } printf("最大ステップ数は %d です.\n", step); time1 = time(NULL); printf("表\を作るのに %.0f 秒かかりました.\n", difftime(time1, time0)); for (i = 0; i < size; i++) { /* 表を出力 */ num2array(i); show(-1); } #if 1 /* ランダムウォークで遊ぶ */ printf("さあ、遊びましょう.\n"); srand((unsigned)time(NULL)); /* 現在時刻を乱数の種に */ for (i = 0; i < N; i++) { /* 円盤の配置をランダムに初期化 */ a[i] = rand() % 3; } while (show(count++), isend() == 0) { rod = rand() % 3; /* ランダムに一本の棒を選ぶ */ for (i = 0; i < N; i++) { /* その棒にささっていない円盤のうち最小のものをさがす */ if (a[i] != rod) { a[i] = 3 - a[i] - rod; break; /* それを第三の棒に移す */ } } } #endif } /* 表の index から円盤の位置への換算 */ void num2array(int n) { int i; for (i = 0; i < N; i++) { a[i] = n % 3; n /= 3; } } /* 円盤の位置から表の index への換算 */ int array2num(void) { int i, p, r; p = 1; r = 0; for (i = 0; i < N; i++) { r += p * a[i]; p *= 3; } return r; } /* 表づくりが終わっているかどうか */ int isend0(void) { int i; for (i = 0; i < size; i++) { if (s[i] == INT_MAX) { return 0; } } return 1; } /* 一つの棒にすべてささっていたら 1, そうでなければ 0 */ int isend(void) { int i; for (i = 1; i < N; i++) { if (a[0] == a[i]) { ; } else { return 0; } } return 1; } /* 円盤の配置を表示 */ void show(int count) { int i, j, rod; if (count == -1) { /* count が -1 のときは count は出力せず */ printf(" "); } else { printf("%12d:", count++); } for (rod = 0; rod <= 2; rod++) { /* rod は棒の番号 */ printf(" "); for (i = 0; i < N; i++) { /* i は円盤の番号 */ if (a[i] == rod) { printf("%x", i % 16); /* 十六進で下一けたのみを表示 */ } else { printf("-"); /* 空きの印 */ } } printf("|"); /* 床の印 */ } i = array2num(); printf("%12d", s[i]); /* あと何手かを表示 */ printf(" "); for (rod = 0; rod < 3; rod++) { /* 次に打つべき手を表示 */ if (m[i] & (1 << rod)) { printf("%d", rod); } else { putchar(' '); } } putchar('\n'); }
N を大きくして、表だけ出力させてみた。
最大ステップ数は 2N-1 - 1 になるようだ。 そうなるケースがあることはすぐわかる。 いちばん大きな円盤以外が同一の棒にささっている場合がそうだ。 2 枚の場合、1 ステップでよいことは自明。 3 枚の場合、小さい 2 枚を 1 ステップで重ねてからその 2 枚を、 と考えると、4 ステップを必要とする。この考え方ではだめだ。
最善の手が一つだけである理由もわからない。
2021-12-29 (3) 21:32:11 +0900
ルールを変えて,したがってプログラムも変えて、 すべての円盤が第 0, 第 1 の棒にささると“上がり”、 第 2 の棒では“上がり”でない、とすると、 第 2 の棒にすべての円盤がささっている状態からは、 一番小さい円盤をどちらの棒に動かしても、 “上がり”までの手数は変わらない。よって、
----| ----| 0123| 15 01
と出力される。これで、プログラムのミスの可能性が少しは減ったような気がする。
2021-12-29 (3) 23:42:36 +0900
証明:「円盤 k 枚のときの最大手数が 2k-1-1 である」を P(k) と書く。
最大の円盤は動かさず、その上に残りの円盤を置けばよい。
P(1) は正しい。
P(1) から P(k-1) までが成り立つと仮定し、P(k) を証明する。 最大の円盤と次に大きい円盤が同じ棒にささっているときは、 円盤 k-1 枚のケースだから P(k-1) より OK。 最大の円盤がささっている棒を A, 次に大きい円盤がささっている棒を B, 第三の棒を C とする。小さいほうから k-2 枚の円盤を C にもってくるには P(k-1) より 2k-2-1 手で済む。 二番めに大きい円盤を A に移すのに 1 手、 その後、小さいほうから k-2 枚の円盤を C から A に移すのに 2k-2-1 手、 合計して 2k-1-1。
数学的帰納法により、P(k) はすべての自然数 k について成り立つ。[Q.E.D.]
2021-12-31 (5) 23:32:38 +0900
1 枚のときは明らか。(何もする必要がない。これを第一段とするのが不安なら、 2 枚のときを考えるのがよい。)
k-1 枚まで言えていると仮定し、k 枚のときを考える。 最大の円盤の上に、残りすべての円盤を重ねればよい。 二番めに大きい円盤が最大の円盤に乗っていれば、 実質的に k-1 枚のケースだから、言えている。 そうでない場合、残りの k-2 枚の円盤を第三の柱にささっているようにし、 二番めに大きい円盤を最大の円盤に載せ、それから、とするのが最善の手であるから、 k-1 枚のケースに帰着する。
よって、数学的帰納法により示された。[Q.E.D.]
2022-01-01 (6) 18:05:40 +0900
最善手を 0, 1, 2 で表示しているが、その数字が必ず変わるようだ。なぜだろう?
2022-01-03 (1) 17:39:41 +0900
「120」は、 第 0 の円盤が棒 1 に、 第 1 の円盤が棒 2 に、 第 2 の円盤が棒 0 に、 と読む。第 2 の円盤が棒 0 にささっている場合のみ考える。 3 * 3 = 9 通りの局面がある。
000 100 200 120 210 220 020 010 110
一手で、斜め上に進める。それが最短手数である。
000 100 --- 200 120 210 220 --- 020 --- 010 --- 110
「---」でつないだ箇所も一手で移れる。
縦にし、27 個ぜんぶ書いてみた。上の端と下の端はつながっている。
| 220 120 | 100 020 000 | | 200 010 210 | 110 | 112 012 | 022 212 222 | | 122 202 102 | 002 | 001 201 | 211 101 111 | | 011 121 021 | 221 |
2 枚の場合。
| 10 00 | 20 | 21 11 | 01 | 02 22 | 12 |
4 枚の場合、上の 3 枚の場合の最後に 0 をつけて次のようにすると間違い。
| 2200 1200 | 1000 0200 0000 | | 2000 0100 2100 | 1100 | 1120 0120 | 0220 2120 2220 | | 1220 2020 1020 | 0020 | 0010 2010 | 2110 1010 1110 | | 0110 1210 0210 | 2210 |
正しくは次のようになる。
| 2200 1200 | 1000 0200 0000 | | 2000 0100 2100 | 1100 1120 0120 ...
わからなくなってきた。オチなし。
2022-01-08 (6) 00:49:20 +0900
1110 0110 | 0210 2110 2210 | | 2200 1210 2010 1200 | 1010 | 1000 0200 0010 0000 | | | 2000 0100 0020 2100 | 2020 | 1100 2120 1020 1120 | | 0120 1220 0220 | 2220
2022-01-08 (6) 01:27:53 +0900
2022-01-08 (6) 17:03:40 +0900
左から手書きで作った。途中でつまって、部分的に上下を入れ替え訂正した。
(22221) : 22220 12220 | 10220 02220 00220 | | 00120 20220 01220 20120 | 21220 | 21120 10120 11220 11120 | | | 11100 01120 12120 11020 01100 | 02120 | 01020 | 02100 21100 22120 02020 21020 22100 | | 22020 | | 22000 12100 20100 12020 20020 12000 | 10100 | 10020 | 10000 02000 00100 00020 00000 | | | | 20000 01000 00200 00010 21000 | 20200 | 20010 | 11000 21200 10200 21010 10010 11200 | | 11010 | | 01200 12200 11210 01010 12010 02200 | 01210 | 02010 | 22200 02210 21210 22010 22210 | | | 12210 20210 22110 10210 | 12110 | 00210 10110 02110 00110 | | 20110 01110 21110 | 11110 : (11112)
訂正したのは、二つに分かれるときの上下の別だが、 0 < 1 < 2 < 0 の“円順列”で上下に割り振るのがよいようだ。 これに気がついたので、 円盤が 6 枚の場合への拡張も簡単にできそうだ。
90 度だけ時計回りに回すと「△△△」となっており、 左端と右端とはつながっている。 円盤を 6 枚に増やすと、これが
△ △△
のように変形し、あと二つが加わるのだろう。
2022-01-08 (6) 20:33:01 +0900
0, 1, 2, の数字は、「その棒以外の棒の間で円盤を動かす」と読む。
(22221) : 2 : 22220 0 : 12220 1 1 2 : 10220 02220 2 : : 00220 0 0 0 1 : : 00120 20220 01220 1 : 2 1 : 20120 2 21220 2 2 0 : 0 : 21120 10120 11220 0 : : : 11120 1 1 1 1 2 : : : 11100 01120 12120 11020 2 : 0 2 : 2 : 01100 0 02120 0 01020 0 0 1 : 1 : 0 1 : 02100 21100 22120 02020 21020 1 : : 2 1 : : 22100 2 2 22020 2 2 2 0 : : 0 : : 22000 12100 20100 12020 20020 0 : 1 0 : 1 0 : 12000 1 10100 1 10020 1 1 2 : 2 : 2 : 10000 02000 00100 00020 2 : : : : 00000 0 0 0 0 1 : : : : 20000 01000 00200 00010 2 1 : 1 : 1 : 21000 2 20200 2 20010 2 0 : 2 0 : 2 0 : 11000 21200 10200 21010 10010 1 0 : : 0 : : 11200 1 1 11010 1 1 2 : : 1 2 : : 01200 12200 11210 01010 12010 0 2 : 2 : 0 2 : 02200 0 01210 0 02010 0 1 : 0 1 : 1 : 22200 02210 21210 22010 2 1 : : : 22210 2 2 2 0 : : : 12210 20210 22110 1 0 : 0 : 10210 1 12110 1 2 : 1 2 : 00210 10110 02110 0 2 : : 00110 0 0 1 : : 20110 01110 2 1 : 21110 2 0 : 11110 : 1 : (11112)
きれいに上下対称になっている。
上と同じだが、手作業でスペースを調整したもの。
(22221) : 2 : 22220 0 : 12220 1 1 2 : 10220 02220 2 : : 00220 0 0 0 1 : : 00120 20220 01220 1 : 2 1 : 20120 2 21220 2 2 0 : 0 : 21120 10120 11220 0 : : : 11120 1 1 1 1 2 : : : 11100 01120 12120 11020 2 : 0 2 : 2 : 01100 0 02120 0 01020 0 0 1 : 1 : 0 1 : 02100 21100 22120 02020 21020 1 : : 2 1 : : 22100 2 2 22020 2 2 2 0 : : 0 : : 22000 12100 20100 12020 20020 0 : 1 0 : 1 0 : 12000 1 10100 1 10020 1 1 2 : 2 : 2 : 10000 02000 00100 00020 2 : : : : 00000 0 0 0 0 1 : : : : 20000 01000 00200 00010 2 1 : 1 : 1 : 21000 2 20200 2 20010 2 0 : 2 0 : 2 0 : 11000 21200 10200 21010 10010 1 0 : : 0 : : 11200 1 1 11010 1 1 2 : : 1 2 : : 01200 12200 11210 01010 12010 0 2 : 2 : 0 2 : 02200 0 01210 0 02010 0 1 : 0 1 : 1 : 22200 02210 21210 22010 2 1 : : : 22210 2 2 2 0 : : : 12210 20210 22110 1 0 : 0 : 10210 1 12110 1 2 : 1 2 : 00210 10110 02110 0 2 : : 00110 0 0 1 : : 20110 01110 2 1 : 21110 2 0 : 11110 : 1 : (11112)
この図を見ると、一手さすごとに最善手が変わるのが納得できるようだ。 (証明にはならないが。)
また、円盤の枚数が増えても、平面に図が書けそう、とわかる。
上の図の、5 桁の数のうち最後の 0 を見ないことにし、 4 枚の場合のすべての局面を表したもの、と見ると、 ゴールは大きな三角形の三つの頂点、となる。
シェルピンスキーのギャスケットとちょっと似ている。
2022-01-09 (0) 16:08:58 +0900
7 桁で表示してあるが、1111100 と 2222200 までなので、実質は 6 枚である。
1111100 2 : 0111100 0 0 1 : 0211100 2111100 1 : : 2211100 2 2 2 0 : : 2201100 1211100 2011100 0 : 1 0 : 1201100 1 1011100 1 1 2 : 2 : 1001100 0201100 0011100 2 : : : 0001100 0 0 0 0 1 : : : 0002100 2001100 0101100 0021100 1 : 2 1 1 : 2002100 2 2101100 2021100 2 2 0 : 0 2 0 : 2102100 1002100 1101100 2121100 1021100 0 : : 1 0 : : 1102100 1 1 1121100 1 1 1 2 : : 2 : : 1122100 0102100 1202100 0121100 1221100 2 : 0 2 : 0 2 : 0122100 0 0202100 0 0221100 0 0 1 : 1 : 1 : 0222100 2122100 2202100 2221100 1 : : : : 2222100 2 2 2 2 2 0 : : : : 2222000 1222100 2022100 2212100 2220100 0 : 1 0 : 0 : 0 : 1222000 1 1022100 1 1212100 1 1220100 1 1 2 : 2 : 1 2 : 1 2 : 1022000 0220000 0022100 1012100 0212100 1020100 0220100 2 : : 0 2 : : 2 : : 0022000 0 0 0012100 0 0 0020100 0 0 0 1 : : 1 : : 0 1 : : 0012000 2022000 0122000 2012100 0112100 0010100 2020100 0120100 1 : 2 1 : 2 1 : 1 2 1 : 2012000 2 2122000 2 2112100 2 2010100 2120100 2 2 0 : 0 : 0 : 2 0 0 : 2112000 1012000 1122000 1112100 2110100 1010100 1120100 0 : : : 1 0 : : : 1112000 1 1 1 1110100 1 1 1 1 2 : : : 2 : : : 1110000 0112000 1212000 1102000 0110100 1210100 1100100 2 : 0 2 : 2 : 0 2 : 2 : 0110000 0 0212000 0 0102000 0 0210100 0 0100100 0 0 1 : 1 : 0 1 : 1 : 0 1 : 0210000 2110000 2212000 0202000 2102000 2210100 0200100 2100100 1 : : 2 1 : : 2 1 : : 2210000 2 2 2202000 2 2 2200100 2 2 2 0 : : 0 : : 0 : : 2200000 1210000 2010000 1202000 2002000 1200100 2000100 0 : 1 0 : 1 0 : 1 0 : 1200000 1 1010000 1 1002000 1 1000100 1 1 2 : 2 : 2 : 2 : 1000000 0200000 0010000 0002000 0000100 2 : : : : : 0000000 0 0 0 0 0 1 : : : : : 2000000 0100000 0020000 0001000 0000200 2 1 : 1 : 1 : 1 : 2100000 2 2020000 2 2001000 2 2000200 2 0 : 2 0 : 2 0 : 2 0 : 1100000 2120000 1020000 2101000 1001000 2100200 1000200 1 0 : : 0 : : 0 : : 1120000 1 1 1101000 1 1 1100200 1 1 2 : : 1 2 : : 1 2 : : 0120000 1220000 1121000 0101000 1201000 1120200 0100200 1200200 0 2 : 2 : 0 2 : 2 : 0 2 : 0220000 0 0121000 0 0201000 0 0120200 0 0200200 0 1 : 0 1 : 1 : 0 1 : 1 : 2220000 0221000 2121000 2201000 0220200 2120200 2200200 2 1 : : : 1 : : : 2221000 2 2 2 2220200 2 2 2 0 : : : 2 0 : : : 1221000 2021000 2211000 2221200 1220200 2020200 2210200 1 0 : 0 : 0 : 1 0 : 0 : 1021000 1 1211000 1 1221200 1 1020200 1 1210200 1 2 : 1 2 : 1 2 : 2 : 1 2 : 0021000 1011000 0211000 1021200 0221200 0020200 1010200 0210200 0 2 : : 2 : : 0 2 : : 0011000 0 0 0021200 0 0 0010200 0 0 1 : : 0 1 : : 1 : : 2011000 0111000 0011200 2021200 0121200 2010200 0110200 2 1 : 1 : 2 1 : 2 1 : 2111000 2 2011200 2 2121200 2 2110200 2 0 : 2 0 : 0 : 0 : 1111000 2111200 1011200 1121200 1110200 1 0 : : : : 1111200 1 1 1 1 2 : : : : 0111200 1211200 1101200 1112200 0 2 : 2 : 2 : 0211200 0 0101200 0 0112200 0 1 : 0 1 : 0 1 : 2211200 0201200 2101200 0212200 2112200 2 1 : : 1 : : 2201200 2 2 2212200 2 2 0 : : 2 0 : : 1201200 2001200 2202200 1212200 2012200 1 0 : 0 1 0 : 1001200 1 1202200 1012200 1 2 : 1 2 2 : 0001200 1002200 0202200 0012200 0 2 : : : 0002200 0 0 0 1 : : : 2002200 0102200 0022200 2 1 1 : 2102200 2022200 2 0 2 0 : 1102200 2122200 1022200 1 0 : 1122200 1 2 : 0122200 1222200 0 2 : 0222200 0 1 : 2222200
2022-01-10 (1) 22:35:12 +0900
[22] 0 : [12] 1 1 2 : [10] [02] 2 : : [00] 0 0 1 : : [20] [01] 2 1 : [21] 2 0 : [11]
もう一つ。
0000 | |||||||||||||||||||||||||||||||
2000 | 1000 | ||||||||||||||||||||||||||||||
2100 | 1200 | ||||||||||||||||||||||||||||||
1100 | 0100 | 0200 | 2200 | ||||||||||||||||||||||||||||
1120 | 2210 | ||||||||||||||||||||||||||||||
0120 | 2120 | 1210 | 0210 | ||||||||||||||||||||||||||||
0220 | 2020 | 1010 | 0110 | ||||||||||||||||||||||||||||
2220 | 1220 | 1020 | 0020 | 0010 | 2010 | 2110 | 1110 | ||||||||||||||||||||||||
2221 | 1112 | ||||||||||||||||||||||||||||||
1221 | 0221 | 0112 | 2112 | ||||||||||||||||||||||||||||
1021 | 0121 | 0212 | 2012 | ||||||||||||||||||||||||||||
0021 | 2021 | 2121 | 1121 | 2212 | 1212 | 1012 | 0012 | ||||||||||||||||||||||||
0011 | 1101 | 2202 | 0022 | ||||||||||||||||||||||||||||
2011 | 1011 | 0101 | 2101 | 1202 | 0202 | 2022 | 1022 | ||||||||||||||||||||||||
2111 | 1211 | 0201 | 2001 | 1002 | 0102 | 2122 | 1222 | ||||||||||||||||||||||||
1111 | 0111 | 0211 | 2211 | 2201 | 1201 | 1001 | 0001 | 0002 | 2002 | 2102 | 1102 | 1122 | 0122 | 0222 | 2222 | ||||||||||||||||
# | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # |
種明かし。table でした。
0000 | |||||||||||||||||||||||||||||||
2000 | 1000 | ||||||||||||||||||||||||||||||
2100 | 1200 | ||||||||||||||||||||||||||||||
1100 | 0100 | 0200 | 2200 | ||||||||||||||||||||||||||||
1120 | 2210 | ||||||||||||||||||||||||||||||
0120 | 2120 | 1210 | 0210 | ||||||||||||||||||||||||||||
0220 | 2020 | 1010 | 0110 | ||||||||||||||||||||||||||||
2220 | 1220 | 1020 | 0020 | 0010 | 2010 | 2110 | 1110 | ||||||||||||||||||||||||
2221 | 1112 | ||||||||||||||||||||||||||||||
1221 | 0221 | 0112 | 2112 | ||||||||||||||||||||||||||||
1021 | 0121 | 0212 | 2012 | ||||||||||||||||||||||||||||
0021 | 2021 | 2121 | 1121 | 2212 | 1212 | 1012 | 0012 | ||||||||||||||||||||||||
0011 | 1101 | 2202 | 0022 | ||||||||||||||||||||||||||||
2011 | 1011 | 0101 | 2101 | 1202 | 0202 | 2022 | 1022 | ||||||||||||||||||||||||
2111 | 1211 | 0201 | 2001 | 1002 | 0102 | 2122 | 1222 | ||||||||||||||||||||||||
1111 | 0111 | 0211 | 2211 | 2201 | 1201 | 1001 | 0001 | 0002 | 2002 | 2102 | 1102 | 1122 | 0122 | 0222 | 2222 | ||||||||||||||||
# | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # |
Wizardry #4 の地下 7 階みたい。 0010 の小部屋の南のドアを出ると 0002 まで落ちる、とか。
ほかに、いくつかの数字の間違いと、字句を直した。
2022-01-11 (2) 20:42:32 +0900
職場の PC の広い画面で見たら、まだゆけそうな気になったので。
2022-01-12 (3) 21:17:06 +0900
2222220 0 : 1222220 1 1 2 : 1022220 0222220 2 : : 0022220 0 0 0 1 : : 0012220 2022220 0122220 1 : 2 1 : 2012220 2 2122220 2 2 0 : : 2112220 1012220 1122220 0 : : : 1112220 1 1 1 1 2 : : : 1110220 0112220 1212220 1102220 2 : 0 2 : 2 : 0110220 0 0212220 0 0102220 0 0 1 : 1 : 0 1 : 0210220 2110220 2212220 0202220 2102220 1 : : 2 1 : : 2210220 2 2 2202220 2 2 2 0 : : 0 : : 2200220 1210220 2010220 1202220 2002220 0 : 1 0 : 1 0 : 1200220 1 1010220 1 1002220 1 1 2 : 2 : 2 : 1000220 0200220 0010220 0002220 2 : : : : 0000220 0 0 0 0 0 1 : : : : 0000120 2000220 0100220 0020220 0001220 1 : 2 1 : 1 : 1 : 2000120 2 2100220 2 2020220 2 2001220 2 2 0 : 0 : 2 0 : 2 0 : 2100120 1000120 1100220 2120220 1020220 2101220 1001220 0 : : 1 0 : : 0 : : 1100120 1 1 1120220 1 1 1101220 1 1 1 2 : : 2 : : 1 2 : : 1120120 0100120 1200120 0120220 1220220 1121220 0101220 1201220 2 : 0 2 : 0 2 : 2 : 0 2 : 0120120 0 0200120 0 0220220 0 0121220 0 0201220 0 0 1 : 1 : 1 : 0 1 : 1 : 0220120 2120120 2200120 2220220 0221220 2121220 2201220 1 : : : 2 1 : : : 2220120 2 2 2 2221220 2 2 2 2 0 : : : 0 : : : 2221120 1220120 2020120 2210120 1221220 2021220 2211220 0 : 1 0 : 0 : 1 0 ] 0 : 1221120 1 1020120 1 1210120 1 1021220 1 1211220 1 1 2 : 2 : 1 2 : 2 : 1 2 : 1021120 0221120 0020120 1010120 0212120 0021220 1011220 0211220 2 : : 0 2 : : 0 2 : : 0021120 0 0 0010120 0 0 0011220 0 0 0 1 : : 1 : : 1 : : 0011120 2021120 0121120 2010120 0110120 2011220 0111220 1 : 2 1 : 2 1 : 2 1 : 2011120 2 2121120 2 2110120 2 2111220 2 2 0 : 0 : 0 : 0 : 2111120 1011120 1121120 1110120 1111220 0 : : : : : 1111120 1 1 1 1 1 1 2 : : : : : 1111100 0111120 1211120 1101120 1112120 1111020 2 : 0 2 : 2 : 2 : 2 : 0111100 0 0211120 0 0101120 0 0112120 0 0111020 0 0 1 : 1 : 0 1 : 0 1 : 0 1 : 0211100 2111100 2211120 0201120 2101120 0212120 2112120 0211020 2111020 1 : : 2 1 : : 1 : : 1 : : 2211100 2 2 2201120 2 2 2212120 2 2 2211020 2 2 2 0 : : 0 : : 2 0 : : 2 0 : : 2201100 1211100 2011100 1201120 2001120 2202120 1212120 2012120 2201020 1211020 2011020 0 : 1 0 : 1 0 : 0 : 1 0 : 0 : 1 0 : 1201100 1 1011100 1 1001120 1 1202120 1 1012120 1 1201020 1 1011020 1 1 2 : 2 : 2 : 1 2 : 2 : 1 2 : 2 : 1001100 0201100 0011100 0001120 1002120 0202120 0012120 1001020 0201020 0011020 2 : : : 0 2 : : : 2 : : : 0001100 0 0 0 0002120 0 0 0 0001020 0 0 0 0 1 : : : 1 : : : 0 1 : : : 0002100 2001100 0101100 0021100 2002120 0102120 0022120 0002020 2001020 0101020 0021020 1 : 2 1 1 : 2 1 : 1 : 1 : 2 1 : 1 : 2002100 2 2101100 2021100 2 2102120 2 2022120 2 2002020 2 2101020 2 2021020 2 2 0 : 0 2 0 : 0 : 2 0 : 2 0 : 0 : 2 0 : 2102100 1002100 1101100 2121100 1021100 1102120 2122120 1022120 2102020 1002020 1101020 2121020 1021020 0 : : 1 0 : : 1 0 : : 0 : : 1 0 : : 1102100 1 1 1121100 1 1 1122120 1 1 1102020 1 1 1121020 1 1 1 2 : : 2 : : 2 : : 1 2 : : 2 : : 1122100 0102100 1202100 0121100 1221100 0122120 1222120 1122020 0102020 1202020 0121020 1221020 2 : 0 2 : 0 2 : 0 2 : 2 : 0 2 : 0 2 : 0122100 0 0202100 0 0221100 0 0222120 0 0122020 0 0202020 0 0221020 0 0 1 : 1 : 1 : 1 : 0 1 : 1 : 1 : 0222100 2122100 2202100 2221100 2222120 0222020 2122020 2202020 2221020 1 : : : : 2 1 : : : : 2222100 2 2 2 2 2222020 2 2 2 2 2 0 : : : : 0 : : : : 2222000 1222100 2022100 2212100 2220100 1222020 2022020 2212020 2220020 0 : 1 0 : 0 : 0 : 1 0 : 0 : 0 : 1222000 1 1022100 1 1212100 1 1220100 1 1022020 1 1212020 1 1220020 1 1 2 : 2 : 1 2 : 1 2 : 2 : 1 2 : 1 2 : 1022000 0220000 0022100 1012100 0212100 1020100 0220100 0022020 1012020 0212020 1020020 0220020 2 : : 0 2 : : 2 : : 0 2 : : 2 : : 0022000 0 0 0012100 0 0 0020100 0 0 0012020 0 0 0020020 0 0 0 1 : : 1 : : 0 1 : : 1 : : 0 1 : : 0012000 2022000 0122000 2012100 0112100 0010100 2020100 0120100 2012020 0112020 0010020 2020020 0120020 1 : 2 1 : 2 1 : 1 2 1 : 2 1 : 1 : 2 1 : 2012000 2 2122000 2 2112100 2 2010100 2120100 2 2112020 2 2010020 2 2120020 2 2 0 : 0 : 0 : 2 0 0 : 0 : 2 0 : 0 : 2112000 1012000 1122000 1112100 2110100 1010100 1120100 1112020 2110020 1010020 1120020 0 : : : 1 0 : : : 1 0 : : : 1112000 1 1 1 1110100 1 1 1 1110020 1 1 1 1 2 : : : 2 : : : 2 : : : 1110000 0112000 1212000 1102000 0110100 1210100 1100100 0110020 1210020 1100020 2 : 0 2 : 2 : 0 2 : 2 : 0 2 2 : 0110000 0 0212000 0 0102000 0 0210100 0 0100100 0 0210020 0100020 0 0 1 : 1 : 0 1 : 1 : 0 1 : 1 0 1 : 0210000 2110000 2212000 0202000 2102000 2210100 0200100 2100100 2210020 0200020 2100020 1 : : 2 1 : : 2 1 : : 2 1 : : 2210000 2 2 2202000 2 2 2200100 2 2 2200020 2 2 2 0 : : 0 : : 0 : : 0 : : 2200000 1210000 2010000 1202000 2002000 1200100 2000100 1200020 2000020 0 : 1 0 : 1 0 : 1 0 : 1 0 : 1200000 1 1010000 1 1002000 1 1000100 1 1000020 1 1 2 : 2 : 2 : 2 : 2 : 1000000 0200000 0010000 0002000 0000100 0000020 2 : : : : : : 0000000 0 0 0 0 0 0 1 : : : : : : 2000000 0100000 0020000 0001000 0000200 0000010 2 1 : 1 : 1 : 1 : 1 : 2100000 2 2020000 2 2001000 2 2000200 2 2000010 2 0 : 2 0 : 2 0 : 2 0 : 2 0 : 1100000 2120000 1020000 2101000 1001000 2100200 1000200 2100010 1000010 1 0 : : 0 : : 0 : : 0 : : 1120000 1 1 1101000 1 1 1100200 1 1 1100010 1 1 2 : : 1 2 : : 1 2 : : 1 2 : : 0120000 1220000 1121000 0101000 1201000 1120200 0100200 1200200 1120010 0100010 1200010 0 2 : 2 : 0 2 : 2 : 0 2 : 2 : 0 2 : 0220000 0 0121000 0 0201000 0 0120200 0 0200200 0 0120010 0 0200010 0 1 : 0 1 : 1 : 0 1 : 1 : 0 1 : 1 : 2220000 0221000 2121000 2201000 0220200 2120200 2200200 0220010 2120010 2200010 2 1 : : : 1 : : : 1 : : : 2221000 2 2 2 2220200 2 2 2 2220010 2 2 2 0 : : : 2 0 : : : 2 0 : : : 1221000 2021000 2211000 2221200 1220200 2020200 2210200 2221010 1220010 2020010 2210010 1 0 : 0 : 0 : 1 0 : 0 : 0 : 1 0 : 0 : 1021000 1 1211000 1 1221200 1 1020200 1 1210200 1 1221010 1 1020010 1 1210010 1 2 : 1 2 : 1 2 : 2 : 1 2 : 1 2 : 2 : 1 2 : 0021000 1011000 0211000 1021200 0221200 0020200 1010200 0210200 1021010 0221010 0020010 1010010 0210010 0 2 : : 2 : : 0 2 : : 2 : : 0 2 : : 0011000 0 0 0021200 0 0 0010200 0 0 0021010 0 0 0010010 0 0 1 : : 0 1 : : 1 : : 0 1 : : 1 : : 2011000 0111000 0011200 2021200 0121200 2010200 0110200 0011010 2021010 0121010 2010010 0110010 2 1 : 1 : 2 1 : 2 1 : 1 : 2 1 : 2 1 : 2111000 2 2011200 2 2121200 2 2110200 2 2011010 2 2121010 2 2110010 2 0 : 2 0 : 0 : 0 : 2 0 : 0 : 0 : 1111000 2111200 1011200 1121200 1110200 2111010 1011010 1121010 1110010 1 0 : : : : 0 : : : : 1111200 1 1 1 1 1111010 1 1 1 1 2 : : : : 1 2 : : : : 0111200 1211200 1101200 1112200 1111210 0111010 1211010 1101010 1112010 0 2 : 2 : 2 : 2 : 0 2 : 2 : 2 : 0211200 0 0101200 0 0112200 0 0111210 0 0211010 0 0101010 0 0112010 0 1 : 0 1 : 0 1 : 0 1 : 1 : 0 1 : 0 1 : 2211200 0201200 2101200 0212200 2112200 0211210 2111210 2211010 0201010 2101010 0212010 2112010 2 1 : : 1 : : 1 : : 2 1 : : 1 : : 2201200 2 2 2212200 2 2 2211210 2 2 2201010 2 2 2212010 2 2 0 : : 2 0 : : 2 0 : : 0 : : 2 0 : : 1201200 2001200 2202200 1212200 2012200 2201210 1211210 2011210 1201010 2001010 2202010 1212010 2012010 1 0 : 0 1 0 : 0 : 1 0 : 1 0 : 0 : 1 0 : 1001200 1 1202200 1012200 1 1201210 1 1011210 1 1001010 1 1202010 1 1012010 1 2 : 1 2 2 : 1 2 : 2 : 2 : 1 2 : 2 : 0001200 1002200 0202200 0012200 1001210 0201210 0011210 0001010 1002010 0202010 0012010 0 2 : : : 2 : : : 0 2 : : : 0002200 0 0 0 0001210 0 0 0 0002010 0 0 0 1 : : : 0 1 : : : 1 : : : 2002200 0102200 0022200 0002210 2001210 0101210 0021210 2002010 0102010 0022010 2 1 1 : 1 : 2 1 : 1 : 2 1 : 1 : 2102200 2022200 2 2002210 2 2101210 2 2021210 2 2102010 2 2022010 2 0 2 0 : 2 0 : 0 : 2 0 : 0 : 2 0 : 1102200 2122200 1022200 2102210 1002210 1101210 2121210 1021210 1102010 2122010 1022010 1 0 : 0 : : 1 0 : : 1 0 : : 1122200 1 1102210 1 1 1121210 1 1 1122010 1 1 2 : 1 2 : : 2 : : 2 : : 0122200 1222200 1122210 0102210 1202210 0121210 1221210 0122010 1222010 0 2 : 2 : 0 2 : 0 2 : 0 2 : 0222200 0 0122210 0 0202210 0 0221210 0 0222010 0 1 : 0 1 : 1 : 1 : 1 : 2222200 0222210 2122210 2202210 2221210 2222010 2 1 : : : : : 2222210 2 2 2 2 2 0 : : : : : 1222210 2022210 2212210 2220210 2222110 1 0 : 0 : 0 : 0 : 1022210 1 1212210 1 1220210 1 1222110 1 2 : 1 2 : 1 2 : 1 2 : 0022210 1012210 0212210 1020210 0220210 1022110 0222110 0 2 : : 2 : : 2 : : 0012210 0 0 0020210 0 0 0022110 0 0 1 : : 0 1 : : 0 1 : : 2012210 0112210 0010210 2020210 0120210 0012110 2022110 0122110 2 1 : 1 : 2 1 : 1 : 2 1 : 2112210 2 2010210 2 2120210 2 2012110 2 2122110 2 0 : 2 0 : 0 : 2 0 : 0 : 1112210 2110210 1010210 1120210 2112110 1012110 1122110 1 0 : : : 0 : : : 1110210 1 1 1 1112110 1 1 1 2 : : : 1 2 : : : 0110210 1210210 1100210 1110110 0112110 1212110 1102110 0 2 : 2 : 2 : 0 2 : 2 : 0210210 0 0100210 0 0110110 0 0212110 0 0102110 0 1 : 0 1 : 0 1 : 1 : 0 1 ; 2210210 0200210 2100210 0210110 2110110 2212110 0202110 2102110 2 1 : : 1 : : 2 1 : : 2200210 2 2 2210110 2 2 2202110 2 2 0 : : 2 0 : : 0 : : 1200210 2000210 2200110 1210110 2010110 1202110 2002110 1 0 : 0 : 1 0 : 1 0 : 1000210 1 1200110 1 1010110 1 1002110 1 2 : 1 2 : 2 : 2 : 0000210 1000110 0200110 0010110 0002110 0 2 : : : : 0000110 0 0 0 0 1 : : : : 2000110 0100110 0020110 0001110 2 1 : 1 : 1 : 2100110 2 2020110 2 2001110 2 0 : 2 0 : 2 0 : 1100110 2120110 1020110 2101110 1001110 1 0 : : 0 : : 1120110 1 1 1101110 1 1 2 : : 1 2 : : 0120110 1220110 1121110 0101110 1201110 0 2 : 2 : 0 2 : 0220110 0 0121110 0 0201110 0 1 : 0 1 : 1 : 2220110 0221110 2121110 2011110 2 1 : : : 2221110 2 2 2 0 : : : 1221110 2021110 2111110 1 0 : 0 : 1021110 1 1211110 1 2 : 1 2 : 0021110 1011110 0211110 0 2 : : 0011110 0 0 1 : : 2011110 0111110 2 1 : 2111110 2 0 : 1111110
この見出しの上がそれ。
やっている途中、なぜか、スウェーデン刺しゅうが思い浮かんだ。 小学校六年生のときにやったもの。
2022-01-14 (5) 20:34:21 +0900
日本語でもあった。
英語版を作り始める前に気づいてよかった。時間を無駄にしないで済んだ。
2022-01-17 (1) 18:21:04 +0900