問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
これは、A ランクの問題としてスキルチェックに出題されていた問題です。試しに解いてみましょう。
現時点では自力で正解することができない場合は、この問題を飛ばして次の問題に進んでください。
この問題の後に続く 3 つの問題に順番に取り組むことで、
この「ひとりすごろく」の問題を解くために必要な知識や考えた方を身につけることができます。
A ランク獲得に向けた学習にお役立てください。
入力は以下のフォーマットで与えられます。
T B U D L R
N
p_1
p_2
...
p_N
・ 1 行目には問題文にそってサイコロの各面の ID である T, B, U, D, L, R に対応する数字がこの順に半角スペース区切りで与えられます。
・ 2 行目には ボードを構成するマスの総数 N が与えられます。
・ 続く N 行のうち i 行目 (1 ≦ i ≦ N) にはスタートから i 番目のマスに書かれた数字を表す p_i が与えられます。
・ 入力は合計で N + 2 行となり、入力の末尾に改行が1つ入ります。
必要な回転操作の最小回数を整数で出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
添字の範囲は 1 ≦ i ≦ N とする。
・ 入力される値はすべて整数
・ 2 ≦ N ≦ 1000
・ 1 ≦ T, B, U, D, L, R ≦ 6
・ 1 ≦ p_i ≦ 6
・ T, B, U, D, L, R はすべて互いに異なる
・ p_1 = T
1 6 2 5 4 3
4
1
5
3
4
4
6 5 4 3 2 1
6
6
2
1
3
4
3
8