下図のような地図の上を、入力文字列の指示に従って亀が歩く。
※ 大文字小文字数字の区別がしやすいよう、大文字・小文字・数字をそれぞれ別のフォントにしてある。
最初にいるマスは、左上隅の
A
で、最初は右 (つまり
B
の方) を向いている。
入力文字列の指示によって以下のように向きと位置を変える。
ABCDEFGHIJK
という順に移動する。
ALWhknqtwz25gVK
という順に移動する。
ABCDEFGHITe741yvspmjY
という順に移動する。
入力文字列は
2RcL3LL22
のように、コマンドが区切り文字なしで並んでいる。
コマンドは下表の通り:
| コマンド | 意味 |
|---|---|
| L | 反時計回りに90度ほど向きを変える |
| R | 時計回りに90度ほど向きを変える |
| 1〜9 | 1〜9 マス 道なりに 進む |
| a〜f | 10〜15 マス 道なりに 進む |
2RcL3LL22
は
2
: 2マス道なりに進む
R
: 時計回りに90度ほど向きを変える
c
: 12マス道なりに進む
L
: 反時計回りに90度ほど向きを変える
3
: 3マス道なりに進む
L
: 反時計回りに90度ほど向きを変える
L
: 反時計回りに90度ほど向きを変える
2
: 2マス道なりに進む
2
: 2マス道なりに進む
ABCNYjmpsvy147edcbcdef
と移動する。
?
をつける。
L3R4L5RR5R3L5
が入力の場合、即座にマス目の外に行ってしまうので出力は
A?
となり、最初の二文字以外は全て無視されてしまう。
A
も出力に含める。
f
は valid な入力で15歩進むことを意味するが、15歩進める場所はどこにもない。そういうものだ。
112
や
LLLLLLRR
のような冗長なコマンドもある。そういうものだ。
| # | 入力 | 期待 |
|---|---|---|
| 0 |
2RcL3LL22
|
ABCNYjmpsvy147edcbcdef
|
| 1 |
L3R4L5RR5R3L5
|
A?
|
| 2 |
2ReLLe
|
ABCNYjmpsvy147eTITe741yvspmjYNC
|
| 3 |
1ReRRe
|
ABMXilorux036fUJUf630xuroliXMB
|
| 4 |
ReRRe
|
ALWhknqtwz25gVKVg52zwtqnkhWLA
|
| 5 |
f
|
ABCDEFGHIJK?
|
| 6 |
Rf
|
ALWhknqtwz25gVK?
|
| 7 |
1Rf
|
ABMXilorux036fUJ?
|
| 8 |
2Rf
|
ABCNYjmpsvy147eTI?
|
| 9 |
aR1RaL1LaR1R2L1L2
|
ABCDEFGHIJKVUTSRQPONMLWXYZabcdefg567432
|
| 10 |
2R1R2L1L2R1R2L1L2R1R2L1L2R1R2L1L2
|
ABCNMLWXYjihklmponqrsvutwxy
|
| 11 |
2R4R2L4L2R4R2L4L2R4R2L4L2
|
ABCNYjmlknqtwxy147efgVK?
|
| 12 |
R1L2R4R2L4L2R4R2L4L2R4R2L4L2
|
ALMNYjmponqtwz0147eTUVK?
|
| 13 |
R2L2R4R2L4L2R4R2L4L2R4R2L4L2
|
ALWXYjmpsrqtwz2347eTIJK?
|
| 14 |
R3L2R4R2L4L2R4R2L4L2R4R2L4L2
|
ALWhijmpsvutwz2567eTI?
|
| 15 |
R5L2L5L1LaR1L4L5
|
ALWhknopmjYNCBMXilorux0325gVKJIHGF
|
| 16 |
1R2L4L2R4R2L4L2R4
|
ABMXYZabQFGHIJUfg?
|
| 17 |
2R2L4L2R4R2L4L2R4
|
ABCNYZabcRGHIJKVg?
|
| 18 |
3R2L4L2R4R2L4L2R4
|
ABCDOZabcdSHIJK?
|
| 19 |
4R2L4L2R4R2L4L2R4
|
ABCDEPabcdeTIJK?
|
| 20 |
5R2L4L2R4R2L4L2R4
|
ABCDEFQbcdefUJK?
|
| 21 |
LLL1RRR1LLL1RRR2R1
|
ALMXYZ?
|
| 22 |
R3RRR3
|
ALWhij?
|
| 23 |
1LLL4RRR1LR1RL1
|
ABMXilm?
|
| 24 |
R2L1R2L1R3R4
|
ALWXilmpsvut?
|
| 25 |
7R4f47LLLc6R9L
|
ABCDEFGHSd?
|
| 26 |
5RR868L8448LL4R6
|
ABCDEFEDCBA?
|
| 27 |
42Rd1RLLa7L5
|
ABCDEFGRc?
|
| 28 |
RRLL6RLR1L5d12LaLRRL529L
|
ABCDEFGRSTUV?
|
| 29 |
RLR7L6LL1LRRRcRL52R
|
ALWhknqtuv?
|
| 30 |
1RLR8RLR1R437L99636R
|
ABMXiloruxwtqnkhWLA?
|
| 31 |
LLL2L3La9Le5LRR
|
ALWXYZOD?
|
| 32 |
R1LcRR491
|
ALMNOPQRSTUV?
|
| 33 |
R8L1R1R512L8RLLReRf
|
ALWhknqtwx0z?
|
| 34 |
1RcL8f1L29a5
|
ABMXilorux036fedcbaZYXW?
|
| 35 |
R822LeL46LL39LL
|
ALWhknqtwz25gfedcbaZYXW?
|
| 36 |
9R3L5LRRLb5R3L7cLLLR4L
|
ABCDEFGHIJUf65?
|
| 37 |
7LLRRR2R3R69Lf76eR2L
|
ABCDEFGHSdcbaPE?
|
| 38 |
8RRRLL3Le
|
ABCDEFGHITe765?
|
| 39 |
8R5RLL6LbL4LL5bL
|
ABCDEFGHITe7410z?
|
| 40 |
6LR2R1LR5LRLRL484L63
|
ABCDEFGHITe741yxw?
|