华为 OD 清单查看地址:blog.youkuaiyun.com/hihell/category_12199275.html
华为OD机试 病菌感染 计算疫情扩散时间
题目
在一个地图中(地图有N*N
个区域组成)
有部分区域被感染病菌
感染区域每天都会把周围上下左右的四个区域感染
请根据给定的地图计算多少天以后全部区域都会被感染
如果初始地图上所有区域都被感染
或者没有被感染区域返回-1
备注
1 <= N < 200
输入
一行N*N
个数字只包含0
1
,不会有其他数字
表示一个地图
数字间用,分割
0
表示未感染区域
1
表示感染区域
每N
个数字表示地图中一行
输入数据共表示N
行N
列的区域地图
例如输入
1,0,1,0,0,0,1,0,1
表示地图
1,0,1
0,0,0
1,0,1
输出
一个整数表示经过多少天以后全部区域都会被感染
示例一
输入
1,0,1,0,0,0,1,0,1
输出
2
说明
1 天以后地图中仅剩中心点未被感染
2 天以后全部被感染
示例二
输入
0,0,0,0
输出
-1
说明
无感染区域
示例三
输入
1,1,1,1,1,1,1,1,1