Python实现【矩阵中非1的元素个数】

B站影视 电影资讯 2025-04-18 10:41 1

摘要:from collections import dequedef count_non_one_elements:# 读取输入m, n = map(int, input.split)grid = for _ in range(m):row = list(map(

from collections import dequedef count_non_one_elements:# 读取输入m, n = map(int, input.split)grid = for _ in range(m):row = list(map(int, input.split))grid.append(row)# 初始化队列,记录所有初始为1的位置q = deque# 将(0, 0)位置设为1if grid[0][0] != 2:grid[0][0] = 1q.append((0, 0))# 方向数组:上下左右directions = [(-1, 0), (1, 0), (0, -1), (0, 1)]while q:x, y = q.popleftfor dx, dy in directions:nx, ny = x + dx, y + dyif 0 初始队列:从 (0, 0) 开始,因为它是初始的 1。逐层扩展:每一秒对应 BFS 的一层,将当前层的 1 的上下左右的 0 同化为 1,并加入队列。终止条件:队列为空时,表示没有更多 0 可以被同化。统计结果:遍历矩阵,统计 0 和 2 的数量。

来源:飞快教育

相关推荐