問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
マップの行数 H と列数 W , 障害物を '#' で、移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H が与えられます。
続けて現在の座標 sy , sx ,1マス移動する方角 m が与えられるので、移動が可能かどうかを判定してください。
移動が可能であるということは、以下の図の通り
「移動先が障害物でない かつ 移動先がマップの範囲外でない」
ということを意味します。
なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、
下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。
H W sy sx m
S_0
...
S_(H-1)
移動が可能である場合 "Yes" を、不可能である場合 "No" を出力してください。
Yes
No
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ H, W ≦ 20
・ 0 ≦ sy < H , 0 ≦ sx < W
・ S_i は W 文字の文字列
・ マップ上の(sy, sx)のマスは必ず '.'
・ S の各文字は '.' または '#'
・ m は、N, S, E, W のいずれかであり、それぞれ 北・南・東・西 を意味します。
3 3 1 1 E
..#
..#
...
No
9 2 4 0 S
#.
#.
..
##
..
..
.#
..
.#
Yes