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

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

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

問題

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

「ビームの反射」では、箱の状態を受け取り、壁によって適切に場合分けする必要があります。まずは、これを行ってみましょう。



箱の高さHと幅W、および箱の内部の状態が与えられるので、以下の規則に従い、数値に変換して出力してください。

* '_' → 0
* '/' → 1
* '\' → 2

入力される値

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

H W
s_1
s_2
...
s_H

ここで、s_i (1 ≦ i ≦ H) は'_', '/', '\' の三文字からなる長さW の文字列で、箱の内部の状態を表します。

**環境によりバックスラッシュが円マークで表示されます。その場合は文字コードによるバグを防ぐため、ソースコードに記述する際はサンプル入力から円マークをコピー&ペーストすることを推奨します。**
**また、バックスラッシュは、多くの言語でエスケープ文字と呼ばれる特別な文字です。そのため、他の文字と取り扱いが異なることに注意しましょう。**


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

受け取った箱の状態を規則に従い数値に変換して出力してください。 出力の i 行目には、部屋の i 行目の状態を、空白区切りで 1 行に出力してください。 出力は全部で h 行になります。
最後は改行し、余計な文字、空行を含んではいけません。

条件

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

* 1 ≦ H ≦ 100
* 1 ≦ W ≦ 100

入力例1

4 5
/_\/\
_/__\
/\/\_
_\\/_

出力例1

1 0 2 1 2
0 1 0 0 2
1 2 1 2 0
0 2 2 1 0

入力例2

5 4
\\_\
/_\\
\/__
//_/
\///

出力例2

2 2 0 2
1 0 2 2
2 1 0 0
1 1 0 1
2 1 1 1

入力例3

5 5
\/___
/_/__
\/___
/\__\
\/\_\

出力例3

2 1 0 0 0
1 0 1 0 0
2 1 0 0 0
1 2 0 0 2
2 1 2 0 2

問題一覧へ戻る

ページの先頭へ戻る