問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
列の数がM、行の数がNの表があります。表の各マスは白か黒で塗られています。
黒で塗られたマスが上下左右で隣接している時、その黒マスの塊をまとめて「島」と呼びます。
例えば、以下のような4列×5行の表(M=4、N=5)があった場合、
この表には以下の(1)~(3)のように3つの島が存在します。
島の数を計算して出力するプログラムを作成して下さい。
1行目には、列の数Mと行の数Nがスペース区切りで入力されます。
2行目以降のN行には、スペース区切りでM個の数字が入力されます。 各行は'0'が白、'1'が黒のマスをそれぞれ表します。
島の数を一行で出力して下さい。
10個のテストケースの内、8個のテストケースにおいて以下の条件を満たします。
1 ≦ N,M ≦ 100
10個のテストケースの内、全てのテストケースにおいて以下の条件を満たします。
1 ≦ N,M ≦ 1,000
4 5
0 1 1 0
1 0 1 0
1 0 0 0
0 0 1 1
0 1 1 1
3
6 6
1 1 1 1 1 1
1 0 1 0 0 0
1 0 1 0 1 1
0 1 0 0 0 1
1 0 1 1 1 1
0 1 0 0 0 0
5