No.585 工夫のないパズル
タグ : / 解いたユーザー数 14
作問者 : nmnmnmnmnmnmnm
Note
Writerさんの希望によりTesterつけてません。問題文
Yuki君は下図が完成図となる4行4列のパズルを手に入れました。
ABCD EFGH IJKL MNOP
しかし、手に入れたパズルは完成していないパズルでした。
パズルは次のような操作ができます。
・1回の操作で選んだ$r$行目を右に$a$つだけ$Rotate$できる。
・1回の操作で選んだ$c$列目を下に$b$つだけ$Rotate$できる。
Yuki君はこのパズルを完成図と同じにする手順を100回以内の操作で用意しなければなりません。
なお、Yuki君の手に入れたパズルは100回以内の操作で完成図と同じになることが保証されている。
入力
$S_0$ $S_1$ $S_2$ $S_3$
$S_i$は$i$行目のパネルの文字の情報を持つ。($i$は0-index)
文字列$S_i$は必ず4文字からなる。
$i$行目について$j$文字目が$j$列目の文字である。($j$は0-index)
パズル内にあるアルファベットは大文字の'A'から'P'までの16文字であり重複はない。
入力の図は必ず100回の操作以内に完成することが保証される。
完成していないパズルなので、完成している状態が渡されることはない。
出力
最初に必要な回数$N$を1行で出力する。$N$は整数。$1 \le N \le 100$。
次に必要な操作の数だけ最初の操作から順に$N$行で操作を出力する。
列の操作の場合は、
R r a
のように大文字アルファベットの'R'、$r$列目を表す整数r、右へ$a$つ$Rotate$する整数aを空白をはさんで1行で出力する。
$0 \le r \le 3$。$1 \le a \le 3$。
列の操作の場合は、
C c b
のように大文字アルファベットの'C'、$c$列目を表す整数c、下へ$b$つ$Rotate$する整数bを空白をはさんで1行で出力する。
$0 \le c \le 3$。$1 \le b \le 3$。
数値の範囲は制約を満たさない場合には不正解となるので注意して欲しい。
条件さえ満たせばどのような手順で完成させても正解とする。
サンプル
サンプル1
入力
BCDA EFGH IJKL MNOP
出力
1 R 0 1
0行目を右に1だけ$Rotate$すればパズルは完成する。
サンプル2
入力
ANCD EBGH IFKL MJOP
出力
1 C 1 3
1列目を下に3だけ$Rotate$すればパズルは完成する。
サンプル3
入力
FHLE MOIC DNPB AKGJ
出力
14 C 0 2 C 3 1 R 1 3 C 3 2 R 2 1 R 1 2 C 2 2 R 0 1 R 0 3 R 0 2 C 3 1 R 0 1 C 1 3 R 2 1
最短での正解ではありませんがとにかく100回以内に完成すれば正解です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。