------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
题目大意
输入格式
第一行三个整数n,m,q,分别表示地图的长,宽以及雷区的数量。接下来q行,每行两个整数x,y,表示雷区的位置。
输出格式
一个n * m的数组,如果是雷区那么输出*,否则输出与他相邻的雷区的数量。
注意:相邻是指该格的上,下,左,右,左上,右上,左下,右下。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
数据范围
3 <= n,m <= 500 , 1 <= q <= n*m
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路分析
定义三个变量n,m,q和一个char类型的二维数组。输入n,m,q。
for循环从1到q,每次定义两个整数x,y并输入,把雷区的位置标记好。
定义dfs函数,标记不是雷区的位置的相邻位置有多少个雷区。
双层for循环,判断如果非雷区则将该位置定义为dfs(i,j) + '0'。输出。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码实现
1. 定义
2. for循环输入并标记
3. 定义dfs函数
(为了方便写代码,这里定义两个数组,分别存储八个方位信息)
(提示:这里定义n,m,q,数组a要在dfs函数上面)
4.输出
5. 完整代码
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最后
都看到这了,点个赞呗!!!