ルーピック・キューブ (5)

(Loopicルール)

  1. 一度に、いずれか一つの行または列のマスをスライドさせることができる。
  2. 行は右から左に、列は下から上に、1マスまたは2マス動かす。
  3. 行または列の数字が、その並びのまま、その行または列の中で循環する。

(例題その他、詳しくは《ルーピック・キューブ》(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を作れないか―― と考えを進めてみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください