华为OD机试D卷 --污染水域--24年OD统一考试(Java & JS & Python & C & C++)

07-02 1625阅读

文章目录

    • 题目描述
    • 输入描述
    • 输出描述
    • 用例
    • 题目解析
    • 算法源码

题目描述

输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。
数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。

华为OD机试D卷 --污染水域--24年OD统一考试(Java & JS & Python & C & C++)
(图片来源网络,侵删)

输入描述

输出描述

用例

输入
1,0,1,0,0,0,1,0,1
输出
2
说明
输入转化为数组为:
1 0 1
0 0 0
1 0 1

第一天后水域变为
1 1 1
1 0 1
1 1 1

第二天全部被污染

输入
0,0,0,0
输出
-1
说明

题目解析

题目描述了一个模拟水域污染扩散的问题。我们有一个N*N的二维数组,其中0表示纯净的水域,1表示已经被污染的水域。每天,污染会向上下左右四个方向扩散,直到所有水域都被污染或者无法再扩散为止。

我们需要编写一个算法来模拟这个过程,并返回污染扩散到所有水域所需的天数。如果初始状态所有水域都是污染的(即全为1),或者存在无法被污染的水域(即被0包围的1),则返

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]