下図のような地図の上を、入力文字列の指示に従って亀が歩く。
※ 大文字小文字数字の区別がしやすいよう、大文字・小文字・数字をそれぞれ別のフォントにしてある。
最初にいるマスは、左上隅の
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?
|