#HX3109. DFS连通块问题题六:引爆炸弹

提交2 通过1
通过率50%
时间限制1000ms
内存限制128MiB
    ID: 12849 传统题 1000ms 128MiB 尝试: 2 已通过: 1 难度: 普及 上传者: 标签>C++c++编程题浩轩OJ迁移6级2025年寒假六级班题库

题目描述

题目描述

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

现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。

输入格式

第一行输入两个整数 n,m,用空格隔开。

接下来 n 行,每行输入一个长度为 m 的字符串,表示地图信息。0 表示没有炸弹,1 表示炸弹。

输出格式

输出一个整数,表示最少需要手动引爆的炸弹数。

输入样例 #1

5 5
00010
00010
01001
10001
01000

输出样例 #1

2

输入样例 #2

1 1
1

输出样例 #2

1

输入样例 #3

4 24
000000100001000000010000
001000000000000000000000
101000000000011010000100
100001000010100010000100

输出样例 #3

2

数据范围与约定

1≤n,m≤500。