八面体を、入力文字列の指示に従って転がします。
入力文字列が
68TDTD2464642DTD686468T42464TD2D2464686868T8T82D242468T8TD2D2D242DTDT8TD2DTD28T8
である場合、八面体の上面が順にどの色になるかを示す文字列答えて下さい。
八面体は、下の写真のようになっています。
各面は下表のようになっています:
面の位置 | 面の色 |
---|---|
上面 | 黄 |
底面 | 黄 |
12 時の方向。 上面 と辺を共有。 | 赤 |
2 時の方向。 底面 と辺を共有。 | 緑 |
4 時の方向。 上面 と辺を共有。 | 青 |
6 時の方向。 底面 と辺を共有。 | 赤 |
8 時の方向。 上面 と辺を共有。 | 緑 |
10 時の方向。 底面 と辺を共有。 | 青 |
表をよく見ると分かるはずですが、この八面体は、向かい合う面の色は同じになっています。
これを転がします。
例えば。
この八面体を上図の状態からはじめて 2時の方向に転がし、続いて12時の方向に転がすと、下図のようになります:
→
2時 |
→
12時 |
上図のとおり、2時の方向に転がし、続いて12時の方向に転がすと上面に来る色は順に
黄→緑→赤
となります。
転がす方向は、八面体の辺を軸にして転がすことが出来る方向のみです。
例えば初期状態では、
2時の方向、6時の方向、10時の方向
には転がすことができますが、
4時の方向、8時の方向、12時の方向
には転がすことができません。
入力文字列は
2D
のように、
D
2
4
6
8
T
のいずれかの文字が区切り文字なしで並んでいます。
それぞれの文字は、下表の通りの方角を意味しています:
文字 | D | 2 | 4 | 6 | 8 | T |
---|---|---|---|---|---|---|
方向 | 12時の方向 | 2時の方向 | 4時の方向 | 6時の方向 | 8時の方向 | 10時の方向 |
出力するべき文字列は、上面に来る色に対応する文字を区切り文字なしでつなげたものです。
色と文字の対応は下表の通りです:
文字 | R | G | B | Y |
---|---|---|---|---|
色 | 赤 | 緑 | 青 | 黄 |
例えば。
入力文字列
2D
は、 写真で示した「2時の方向に転がし、続いて12時の方向に転がす」という動きを意味します。
この指示通りに転がすと、先ほど写真でお見せした通り、上面に来る色は順に
黄→緑→赤
となるので、出力すべき文字列は
YGR
となります。
Y
となります。