金沢近代美術館に行ったときに買った昴くんへのお土産「スネイクキューブ」
こんなやつです。3ブロックもしくは2ブロックの立方体がゴム紐でつながっています。
AI時代も到来ということで最近 Python (パイソン)始めました。ちょうどPythonの練習にいいかと思ってプログラムを書きました。ただし全然AIは関係ありません。どんな言語でも書けますが、Python 使ってみたというだけです。
リストや連想記憶やタプルなんかが実装されているのと、これらコレクションのパックやアンパックが簡単なのもいいです。
リカーシブ(再帰呼び出し)な関数ひとつ書いて、メインから呼んで一瞬で終了。記述は半日、実行は1秒という感じです。
多次元配列の初期化方法で少しつまづきました。
結果は4つで予想通り、立方体の回転によって一致するものが2つずつあり、鏡像2つが最終的な解になりました。
鏡像も同じと考えれば解は1つになります。
数字列を図示。4つの解。
同じものを取り除くとこの2つが鏡像で残る。実際にパズルを手にしたらこの2通りが作れます。
コツは3-3-3-3と始まるほうからではなく、3-2-2-3と始まるほうを掴んで2回目の3が最終形の中心を通るように配置することです。







