「ビームの反射」を解くために:part3 Objective-C編(paizaランク C 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
「ビームの反射」では、箱の区画を移動していき、通過回数を求める必要があります。これを行ってみましょう。 箱の高さHと幅W、および箱の内部の状態が与えられます。ただし、箱は内部にはビームの移動方向がかかれており、ビームはこの指示に従います。
指示は以下の 5 種類です。
R : ビームの向きを右にする
L : ビームの向きを左にする
U : ビームの向きを上にする
D : ビームの向きを下にする
S : ビームの向きを変更せず、直進させる
この指示に従いビームが撃たれてから箱の外部に飛び出るまでにビームが箱の中の区画を通過する回数を答えてください。
なお、ビームは箱の左上の区画に対し、箱の左側の外部から箱の内部に向けて撃ちます。
そのため、最初ビームは右に向かって真っ直ぐ飛んでいます。
入力される値
入力は以下のフォーマットで与えられます。
H W s_1 s_2 ... s_H ここで、s_i (1 ≦ i ≦ H) はR, L, U, D, S の五文字からなる長さ W の文字列で、箱の内部の状態を表します。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
標準入力からの値取得方法はこちらをご確認ください
期待する出力
ビームが撃たれてから箱の外部に飛び出るまでにビームが箱の中の区画を通過する回数を出力してください。 最後は改行し、余計な文字、空行を含んではいけません。
条件
すべてのテストケースにおいて、以下の条件をみたします。 ・ 1 ≦ H ≦ 100 ・ 1 ≦ W ≦ 100
問題一覧へ戻る