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

飞码创造者 2024-07-08 16:05:03 阅读 65

文章目录

题目描述

输入描述

输出描述

用例

题目解析

算法源码

题目描述

输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。

数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。

输入描述

输出描述

用例

输入

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),则返



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。