【DFS】BISHI77数水坑
思路求解代码/** * 主方法程序的入口点 * * param args 命令行参数 * throws IOException 可能抛出IO异常 */publicstaticvoidmain(String[]args)throwsIOException{// 使用BufferedReader读取标准输入用于高效读取输入数据BufferedReaderbrnewBufferedReader(newInputStreamReader(System.in));// 使用PrintWriter输出结果提供高效的输出功能PrintWriteroutnewPrintWriter(newOutputStreamWriter(System.out));// 读取第一行输入并按空白字符分割成字符串数组String[]strAbr.readLine().trim().split(\\s);// 解析第一行输入中的两个整数n和mintnInteger.parseInt(strA[0]);// 网格的行数intmInteger.parseInt(strA[1]);// 网格的列数// 创建字符串数组用于存储网格数据String[]gridnewString[n];// 创建二维字符数组用于存储网格的字符表示char[][]gridStrnewchar[n][m];// 读取网格数据for(inti0;in;i){grid[i]br.readLine().trim();// 读取一行并去除首尾空白gridStr[i]grid[i].toCharArray();// 将字符串转换为字符数组}intans0;// 用于记录找到的W的数量// 遍历网格中的每个元素for(inti0;in;i){for(intj0;jm;j){// 如果当前元素是W则增加计数器并执行深度优先搜索if(gridStr[i][j]W){ans;// 增加计数器dfs(gridStr,i,j);// 执行深度优先搜索标记相邻的W}}}// 输出结果out.println(ans);// 刷新输出流确保所有数据都被写出out.flush();// 关闭输出流out.close();// 关闭输入流br.close();}/** * 深度优先搜索(DFS)方法用于遍历网格中的连通区域 * * param grid 二维字符网格 * param i 当前处理的行坐标 * param j 当前处理的列坐标 */privatestaticvoiddfs(char[][]grid,inti,intj){// 检查当前坐标是否超出网格边界if(i0||j0||igrid.length||jgrid[0].length){return;}// 如果当前格子是.表示已经是访问过的格子直接返回if(grid[i][j].){return;}// 将当前格子标记为已访问用.表示grid[i][j].;// 遍历当前格子的8个相邻方向包括对角线方向for(intdi-1;di1;di){for(intdj-1;dj1;dj){// 跳过当前格子本身if(di0dj0){continue;}// 递归处理相邻格子dfs(grid,idi,jdj);}}}

相关新闻

【踩坑】MacOS26上的浏览器无法显示麦克风/摄像头列表

【踩坑】MacOS26上的浏览器无法显示麦克风/摄像头列表

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 问题描述: Chrome和Edge等浏览器均无法显示麦克风和摄像头列表,但摄像头有画面、麦克风有声音。权限已授权,方法参考…

2026/7/6 6:43:36 阅读更多 →
什么是动态住宅 IP 代理?动态 IP 最常用在哪些业务

什么是动态住宅 IP 代理?动态 IP 最常用在哪些业务

一、什么是动态住宅 IP ?简单而言,动态住宅 IP 是来自真实住宅网络环境的 IP 地址,兼具 “定期更换” 特性。它既保留了住宅 IP 的高可信度,又通过动态切换机制,模拟自然用户的上网行为。 相比数据中心 IP 或静态住宅 …

2026/7/5 22:59:53 阅读更多 →
深入解析 MobileNetV2:边缘AI场景中最常用的轻量化卷积神经网络

深入解析 MobileNetV2:边缘AI场景中最常用的轻量化卷积神经网络

深入了解MobileNetV2模型,这是边缘AI场景中最常用的轻量化卷积神经网络(CNN)之一,相当于是把人类大脑装进MCU中,核心优势是小体积、低算力、高效率,非常适配边缘硬件的资源限制。本文由浅入深地讲解从基础定…

2026/7/5 9:54:09 阅读更多 →

最新新闻

AD5593R与PIC18F4585构建可配置混合信号处理系统

AD5593R与PIC18F4585构建可配置混合信号处理系统

1. 项目概述:打造灵活可配置的ADC-DAC混合信号处理系统在嵌入式硬件开发中,模拟信号与数字信号的相互转换是连接物理世界与数字世界的桥梁。AD5593R这款来自ADI的混合信号IC,配合PIC18F4585微控制器的强大处理能力,可以构建一个高…

2026/7/6 6:44:59 阅读更多 →
Borderless Gaming终极指南:如何轻松实现游戏窗口无边框化

Borderless Gaming终极指南:如何轻松实现游戏窗口无边框化

Borderless Gaming终极指南:如何轻松实现游戏窗口无边框化 【免费下载链接】Borderless-Gaming Play your favorite games in a borderless window; no more time consuming alt-tabs. 项目地址: https://gitcode.com/gh_mirrors/bo/Borderless-Gaming 厌倦…

2026/7/6 6:44:59 阅读更多 →
3分钟搞定Unity游戏汉化:XUnity.AutoTranslator实战手册

3分钟搞定Unity游戏汉化:XUnity.AutoTranslator实战手册

3分钟搞定Unity游戏汉化:XUnity.AutoTranslator实战手册 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经遇到过一款优秀的Unity游戏,却因为语言障碍而无法完全享受&…

2026/7/6 6:44:59 阅读更多 →
Si5351A与ATSAME70Q21B实现高精度时钟管理方案

Si5351A与ATSAME70Q21B实现高精度时钟管理方案

1. 项目背景与核心需求在嵌入式系统和数字电路设计中,稳定的时钟信号如同人体的脉搏,是确保系统正常运转的基础。无论是汽车电子中的ECU控制单元,还是工业自动化设备中的实时通信,都需要高精度的频率参考来同步各个模块的时序。传…

2026/7/6 6:40:58 阅读更多 →
A5000与PIC18F2585实现嵌入式设备安全云连接方案

A5000与PIC18F2585实现嵌入式设备安全云连接方案

1. 项目概述:A5000与PIC18F2585的安全云连接方案在物联网设备爆炸式增长的今天,安全连接已成为嵌入式系统设计的核心挑战。我最近完成了一个采用NXP A5000安全芯片与Microchip PIC18F2585微控制器的安全连接方案,这个组合为资源受限的嵌入式设…

2026/7/6 6:40:58 阅读更多 →
LTC6904与TM4C123实现高精度方波脉冲控制方案

LTC6904与TM4C123实现高精度方波脉冲控制方案

1. 项目概述:高精度方波脉冲生成方案在嵌入式系统开发中,精确的时序控制往往决定着项目的成败。LTC6904这款低功耗可编程振荡器与TM4C123GH6PZ微控制器的组合,为需要纳秒级精度时序控制的场景提供了经济高效的解决方案。我曾在一个工业自动化…

2026/7/6 6:38:57 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻