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

幅優先探索・深さ優先探索メニューのサムネイル
領域の個数 (paizaランク A 相当)

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

問題

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

何も置かれていないマス . と壁が置かれているマス # からなるマップが与えられるので、マップが壁によっていくつの区画に区切られているかを出力してください。
なお、グリッドの左上・右上・左下・右下のマスをそれぞれ (0,0), (0,W-1), (H-1,0), (H-1,W-1) とします。

入力される値

H W
S_1
...
S_H


・1 行で、グリッドの行数 H , 列数 W が半角スペース区切りで与えられます。
・続く H 行で、 '.' または '#' からなる W 文字の文字列が与えられます。


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

・問題文の指示に従ってマスの座標を出力してください。

条件

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

・1 ≦ H, W ≦ 100
・S_i は '.' または '#' からなる W 文字の文字列(1 ≦ i ≦ H)

入力例1

5 5
###..
..#.#
#####
...##
.###.

出力例1

4

入力例2

3 3
.#.
#..
...

出力例2

2

問題一覧へ戻る

ページの先頭へ戻る