(Loopicルール)
- 一度に、いずれか一つの行または列のマスをスライドさせることができる。
- 行は右から左に、列は下から上に、1マスまたは2マス動かす。
- 行または列の数字が、その並びのまま、その行または列の中で循環する。
(例題その他、詳しくは《ルーピック・キューブ》(1)を参照してください)
[問題(5)]
上記(Loopicルール)に従って操作し、下の左図から右図にするための最小手を考えてください。解答は、操作の順に「i1b2c1」のように書き、行(i~k)あるいは列(a~c)の操作が連続する部分はアルファベット順に書くものとします。
a b c ┏━┳━┳━┓ ┏━┳━┳━┓ i┃4┃2┃6┃ ┃1┃2┃3┃ ┣━╋━╋━┫ ┣━╋━╋━┫ j┃7┃5┃1┃ → ┃4┃5┃6┃ ┣━╋━╋━┫ ┣━╋━╋━┫ k┃3┃8┃9┃ ┃7┃8┃9┃ ┗━┻━┻━┛ ┗━┻━┻━┛
(ヒント)
移動に必要な手数を書き出すと、
┏━┳━┳━┓ ┃02┃00┃02┃ ┣━╋━╋━┫ ┃02┃00┃21┃ ┣━╋━╋━┫ ┃12┃00┃00┃ ┗━┻━┻━┛
となります。一見a2から始めていいようですが、それではうまくいきません。
a2でa列の2は消えますが、横も縦も1と2が一個ずつ残り手詰まりになります。
そもそも移動の手数が、横=(1と2が一個ずつ)、縦=(1一個と2が四個)なので、最終的にこれを同じ数三個の組にしないことにはすべて00になりません。
そこで、まず手数の少ない横の移動から考えてみます。横の手数を同じ数三個に揃えるため、j行c列の2を1二個にするか、もしくはk行a列の1から二個の2を作れないか―― と考えを進めてみてください。
ページ: 1 2