#Z6017. 引爆炸弹

引爆炸弹

题目描述

在一个 n×mn \times m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。

现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。 数据范围:1n,m10001 \le n, m \le 1000

输入格式

第一行两个空格隔开的整数n,m 1n,m1000(1 \le n,m \le 1000)。

第二行至第n+1行 有一个 n×mn \times m 的地图,其中字符 00 表示该位置没有炸弹,字符 1 1 表示该位置有炸弹。

输出格式

输出一个整数。表示引爆地图上的所有炸弹引爆,最少需要手动引爆多少个炸弹。

文件名:bomb.cpp

样例输入1

5 5
00010
00010
01001
10001
01000

样例输出1

2