1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Erlang(Beta)編
  5. 「ビームの反射」を解くために:part2 Erlang(Beta)編

Bランク・スキルチェック過去問題セットのサムネイル
「ビームの反射」を解くために:part2 Erlang(Beta)編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

「ビームの反射」では、壁にビームが当たった時の反射方向を求める必要があります。これを求めてみましょう。



壁が N 個与えられ、この順に壁に当たっていきます。
現在の進行方向の際に壁に衝突または通過した際の、新たな進行方向を計算し、逐次出力してください。
なお、最初ビームは右へ右に向かって真っ直ぐ進んでいるとします。

入力される値

入力は以下のフォーマットで与えられます。

N
x_1
x_2
...
x_N

ここで、x_i (1 ≦ i ≦ H) は'_', '/', '\' のいずれかです。

**環境によりバックスラッシュが円マークで表示されます。その場合は文字コードによるバグを防ぐため、ソースコードに記述する際はサンプル入力から円マークをコピー&ペーストすることを推奨します。**


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

i 行目には x_i の壁にぶつかったまたは通過した際の進行方向を出力してください。

なお、進行方向は以下のように出力してください。

* 右向き → 1 0
* 左向き → -1 0
* 上向き → 0 -1
* 下向き → 0 1


最後は改行し、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

* 1 ≦ N ≦ 10000

入力例1

5
\
\
_
\
\

出力例1

0 1
1 0
1 0
0 1
1 0

入力例2

4
/
_
\
\

出力例2

0 -1
0 -1
-1 0
0 -1

入力例3

5
/
\
\
/
_

出力例3

0 -1
-1 0
0 -1
1 0
1 0

問題一覧へ戻る

ページの先頭へ戻る