丝路绿洲连通与面积统计【题目描述】在丝路沿线的荒漠治理区,有一片 n×n 的方格地,1 代表植被(绿洲),0 代表荒漠。相邻(上下左右)的植被格属于同一绿洲。统计绿洲总数;输出每个绿洲的面积,按从大到小排序;输出最大绿洲面积。【输入格式】第一行:整数 n(2 ≤ n ≤ 30)接下来 n 行:每行 n 个整数 0 或 1【输出格式】第一行:绿洲数量第二行:所有绿洲面积,从大到小排列(空格分隔)第三行:最大绿洲面积
正确答案:参考程序(Python):n=int(input());g=[list(map(int,input().split())) for _ in range(n)];vis=[[0]*n for _ in range(n)];areas=[];def dfs(i,j):if not(0<=i<n and 0<=j<n) or vis[i][j] or g[i][j]==0:return 0;vis[i][j]=1;return 1+dfs(i+1,j)+dfs(i-1,j)+dfs(i,j+1)+dfs(i,
试卷来源:2026信息素养大赛丝路新程C++小高组(小学4-6年级)复赛模拟卷(二)