1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 幅優先探索・深さ優先探索メニュー(言語選択)
  4. 問題一覧 Scala編
  5. 1 マスの移動

幅優先探索・深さ優先探索メニューのサムネイル
1 マスの移動 (paizaランク C 相当)

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

問題

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

グリッドの行数 H と列数 W が与えられるので、マス (y,x) から次の移動を 1 回おこなった時に到達することができるマスを '*' , それ以外のマスを '.' にしたグリッドを出力してください。

・現在いるマスを (y,x) としたとき、(y+1,x), (y-1,x), (y,x+1), (y,x-1) のいずれかのマスに移動する。

ただし、グリッドの外へは移動することができません。
なお、グリッドの左上・右上・左下・右下のマスをそれぞれ (0,0), (0,W-1), (H-1,0), (H-1,W-1) とします。
到達できるマスに (y,x) が含まれることに気をつけてください。

入力される値

H W
y x


・ 1 行目では、グリッドの行数 H , 列数 W が半角スペース区切りで与えられます。
・ 2 行目では、移動を開始するマスの座標を表す y, x が半角スペース区切りで与えられます。


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

H 行の出力

・マス (y,x) から前後左右に 1 マス移動して到達することができるマスを '*' , それ以外のマスを '.' にしたグリッドを出力してください。
・グリッドの行ごとに改行区切りで出力してください。
・詳しくは入力例を参考にしてください。

条件

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

・1 ≦ H, W ≦ 10
・0 ≦ y < H
・0 ≦ x < W

入力例1

3 3
1 1

出力例1

.*.
***
.*.

入力例2

1 1
0 0

出力例2

*

問題一覧へ戻る

ページの先頭へ戻る