一. 题目-污染水域
输入一行字符串,字符串可转换为NN的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。
数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。
输入描述
输入一行字符串,字符串可转换为NN的数组。
输出描述
判断多少天后,水域被全部污染。
如果开始全部被污染,或永远无法污染,则返回-1。
1、输入
1,0,1,0,0,0,1,0,1
2、输出
2
3、说明
转化为数组为:
1 0 1
0 0 0
1 0 1
第一天污染水域变为:
1 1 1
1 0 1
1 1 1
第二天全部被污染。
二.解题思路
这个问题可以使用广度优先搜索(BFS)来解决。下面是解题思路:
-
首先,将输入的一行字符串转换成一个N*N的二维数组,表示水域的状态,其中0表示纯净,1表示污染。
-
使用一个队列来进行BFS,