UVa 722 Lakes
题目描述给定一个由0水和1陆地组成的矩形网格网格大小不超过99×9999 \times 9999×99。网格外围被陆地1包围。给定一个水域单元格的位置行、列要求计算与该水域单元格水平或垂直相连通的整个水域区域所包含的单元格总数。输入格式第一行包含一个整数MMM表示数据组数。随后有一个空行接着是MMM组数据每组数据之间有一个空行。每组数据第一行包含两个字符串分别表示行号和列号每个字符串由数字字符组成可能包含前导零。第二行开始是网格的每一行每行是一个长度不超过999999的010101字符串直到遇到空行或文件结束。输出格式对于每组数据输出一行包含一个整数即该水域区域的面积。每组输出之间用一个空行分隔。样例输入1 02 01 1001101 0011111 0001001 1100011 1111111 1100110 1110111样例输出12题目分析给定一个010101矩阵其中0表示水1表示陆地。要求从指定位置出发统计所有通过上下左右四个方向连通的0的个数即四连通水域的面积。这是一个典型的连通块大小统计问题可以使用深度优先搜索DFS\texttt{DFS}DFS或广度优先搜索BFS\texttt{BFS}BFS解决。由于网格最大99×9999 \times 9999×99递归深度不超过992980199^2 98019929801用递归DFS\texttt{DFS}DFS安全。解题思路采用递归Flood fill\texttt{Flood fill}Flood fill也称种子填充算法。从给定的起始单元格(r,c)(r, c)(r,c)开始若该单元格在网格内且为0则面积计数加111将该单元格标记为已访问改为1然后递归访问其上下左右四个相邻单元格。最终计数即为该水域区域面积。注意输入格式起始坐标以字符串形式给出可能带有前导零需转换为整数每组数据间有空行网格行可能被空行分隔。读取时需先读入起始坐标字符串并转换为整数然后循环读取网格行直到遇到空行或文件结束将每行存入数组。由于网格外围被陆地包围无需额外边界判断但递归函数仍需检查边界。代码实现// Lakes// UVa ID: 722// Verdict: Accepted// Submission Date: 2017-03-02// UVa Run Time: 0.000s//// 版权所有C2017邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;intwater0,r0,c0,rt0,ct0;;chargrid[110][110];voidflood_fill(intr,intc){if(r0rrtc0cctgrid[r][c]0){water;grid[r][c]1;flood_fill(r-1,c);flood_fill(r1,c);flood_fill(r,c-1);flood_fill(r,c1);}}intmain(intargc,char*argv[]){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);intcases0;string row,column,line;cincases;for(intk1;kcases;k){cinrowcolumn;rstoi(row),cstoi(column);cin.ignore(1024,\n);rt0;memset(grid,0,sizeof(grid));while(getline(cin,line),line.length()0){for(inti0;iline.length();i)grid[rt][i]line[i];rt,ctline.length();}water0;flood_fill(r-1,c-1);if(k1)cout\n;coutwater\n;}return0;}总结本题是经典的连通块统计问题使用Flood fill\texttt{Flood fill}Flood fill算法即可高效求解。注意输入格式的特殊性字符串坐标、空行分隔需正确处理。标记访问可通过将0改为1避免重复计数同时无需额外访问数组。递归深度在99×9999 \times 9999×99范围内安全。该解法时间复杂度O(R×C)O(R \times C)O(R×C)空间复杂度O(R×C)O(R \times C)O(R×C)满足题目限制。

相关新闻

AI Agent半夜集体罢工:一次模型配额耗尽的真实故障复盘

AI Agent半夜集体罢工:一次模型配额耗尽的真实故障复盘

8月15日晚,我们7个AI数字员工agent并行开发企业级Skill共享平台,Harry一次性派发5条任务,10分钟后全部同时失败——状态finished,输出却是429配额耗尽,重试依然秒失败,模型名还显示unknown。是任务没调起来…

2026/8/23 23:11:31 阅读更多 →
[特殊字符]️ DSH 插件全家桶安装全记录:9 个插件、完整过程、依赖配合与踩坑

[特殊字符]️ DSH 插件全家桶安装全记录:9 个插件、完整过程、依赖配合与踩坑

🛠️ DSH 插件全家桶安装全记录:9 个插件、完整过程、依赖配合与踩坑(2026-08-22 实测) 👤 Dsh-榫 🪵 | 📅 2026/8/22 07:18:01 | 📂 技术调试🛠️ DSH 插件全家桶安装全…

2026/8/23 23:10:31 阅读更多 →
IBM |openapi-validator 源码审阅:从 457 个文件看 OpenAPI 规范治理如何落地

IBM |openapi-validator 源码审阅:从 457 个文件看 OpenAPI 规范治理如何落地

IBM |openapi-validator 源码审阅:从 457 个文件看 OpenAPI 规范治理如何落地IBM 开源项目特辑 本文基于 IBM openapi-validator 固定源码快照进行只读静态审阅,重点分析项目结构、规则集、验证器、测试证据和落地验证路径。 仓库地址&#x…

2026/8/23 23:10:31 阅读更多 →

最新新闻

论文AI率过高怎么办?2026年12款免费降AI率工具实测指南

论文AI率过高怎么办?2026年12款免费降AI率工具实测指南

现在毕业论文答辩前,“AI率超标”已经彻底取代“查重率过高”,成了同学们的头号难题!不少同学只是用AI润色了摘要和结论,AI率直接飙升到离谱,纯手动修改根本不管用——这说明AIGC检测系统抓的不是个别词语,…

2026/8/23 23:59:54 阅读更多 →
Marketch:从Sketch画板直接量取CSS

Marketch:从Sketch画板直接量取CSS

Marketch:从Sketch画板直接量取CSS 【免费下载链接】marketch Marketch is a Sketch 3 plug-in for automatically generating html page that can measure and get CSS styles on it. 项目地址: https://gitcode.com/gh_mirrors/ma/marketch 设计稿交付还在…

2026/8/23 23:59:54 阅读更多 →
如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南

如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南

如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南 【免费下载链接】ThinkpadX390-Opencore-EFI macOS Catalina & Big Sur & Monterey on ThinkPad X390 (Hackintosh) 项目地址: https://gitcode.com/gh_mirrors/th/ThinkpadX390-Opencore-EFI …

2026/8/23 23:59:54 阅读更多 →
WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化

WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化

WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化 【免费下载链接】WechatHook Enjoy hooking wechat by Xposed....Accessibility...and so on... 项目地址: https://gitcode.com/gh_mirrors/we/WechatHook WechatHook 是一个基于 Xpos…

2026/8/23 23:59:54 阅读更多 →
OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan 是一款开源免…

2026/8/23 23:59:54 阅读更多 →
Gin-JWT认证与授权方案从Token到RBAC权限控制

Gin-JWT认证与授权方案从Token到RBAC权限控制

Gin-JWT认证与授权方案从Token到RBAC权限控制 文章导语 JWT(JSON Web Token)是现代Web服务的身份认证标准。在Gin框架中集成JWT看似简单,但涉及Token刷新、黑名单、多设备登录、RBAC权限控制等实际需求时,就需要更完善的设计。本文…

2026/8/23 23:57:54 阅读更多 →

日新闻

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →