华为OD机试 - 战场索敌 - 深度优先搜索dfs算法(Python/JS/C/C++ 2025 A卷 100分)

在这里插入图片描述

华为OD机试 2025A卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。

刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。

一、题目描述

有一个大小是N*M的战场地图,被枪毙 ‘#’ 分隔成大小不同的区域,上下左右四个方向相邻的空地’.',属于同一个区域,只有空地上可能存在敌人 ‘E’ ,请求出地图上总共有多少区域里的敌人数小于K。

二、输入描述

第一行输入为N,M

华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Java 2024 C卷 200分) 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。 阅读详情

相关推荐

【战场索敌】

已支持(Java & JS & Python & C & C++),考察:广度优先搜索

优快云 4097

华为OD机试 Python 计算敌人数量

在一个战场地图上,你会发现很多被墙(#)隔开的小区域。每个区域内都可能有敌人(E),也可能没有。你的任务是找出哪些区域里的敌人数量是少于给定数值的。接下来的N行描述了战场地图,其中.代表空地,#代表墙壁,E代表敌人。N和M描述了地图的大小,即行数和列数。(N和M都不超过100)输出一个数字,表示敌人数量少于K的区域有多少。首行会有三个数字:N、M和K。K是你需要考虑的敌人数量上限。

wtswts1232的博客 506

华为OD机试 - 战场索敌(Python)

有一个大小是N*M的战场地图,被墙壁 '#' 分隔成大小不同的区域,上下左右四个方向相邻的空地 '.' 属于同一个区域,只有空地上可能存在敌人'E”,请求出地图上总共有多少区域里的敌人数小于K。另外,本题数量级稍大,如果采用深度优先搜索(递归实现),则可能会发生栈内存溢出,即Stack Overflow,因此推荐使用深度优先搜索(栈实现),或者广度优先搜索。同属一个源头的深搜区域,就是对应一个被墙隔开的独立区域,如果该独立区域深搜过程中,发现'E',则该区域的敌军数量+1。敌人数小于K的区域数量。

m0_46181452的博客 454

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解(Python/JS/C/C++)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释发现新题目,随时更新。

学Java,找哪吒 5万+

2026华为OD机考新系统真题 + 双机位C卷 + 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 45万+

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

华为OD机试2025C卷 - 战场索敌 (C++ & Python & JAVA & JS & GO)

华为OD机试2025C卷 战场索敌,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 735

华为OD机试2025A卷 - 战场索敌(Java & Python& JS & C++ & C )

有一个大小是N*M的战场地图,被墙壁 ‘#’ 分隔成大小不同的区域,上下左右四个方向相邻的空地 ‘.’ 属于同一个区域,只有空地上可能存在敌人’E”,请求出地图上总共有多少区域里的敌人数小于K。

算法大师! 1551

华为OD机考2025B卷 - 战场索敌(Java & Python& JS & C++ & C )

华为OD机考2025B卷 - 战场索敌(Java & Python& JS & C++ & C )

算法大师! 705

华为OD机试 - 战场索敌(Java)

有一个大小是N*M的战场地图,被墙壁 '#' 分隔成大小不同的区域,上下左右四个方向相邻的空地 '.' 属于同一个区域,只有空地上可能存在敌人'E”,请求出地图上总共有多少区域里的敌人数小于K。另外,本题数量级稍大,如果采用深度优先搜索(递归实现),则可能会发生栈内存溢出,即Stack Overflow,因此推荐使用深度优先搜索(栈实现),或者广度优先搜索。同属一个源头的深搜区域,就是对应一个被墙隔开的独立区域,如果该独立区域深搜过程中,发现'E',则该区域的敌军数量+1。敌人数小于K的区域数量。

qq_34143141的博客 535

2023华为OD机试真题B卷【战场索敌】Java 实现

有一个大小是N*M的战场地图,被墙壁 '#' 分隔成大小不同的区域,上下左右四个方向相邻的空地 '.',属于同一个区域,只有空地上可能存在敌人'E',请求出地图上总共有多少区域里的敌人数小于K。2:若某个位置未被搜索过且不是'#',那么可以开始进行DFS遍历,单个源头的搜索区域,该区域的'E'的(敌军)数量+1。由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。N表示地图的行数,M表示地图的列数,K表示目标敌人数量。

斌擎科技 320

【200分】【战场索敌】

有一个大小是N*M的战场地图,被墙壁 ‘#’ 分隔成大小不同的区域, 上下左右四个方向相邻的空地 ‘.’ 属于同一个区域,只有空地上可能存在敌人’E”,请求出地图上总共有多少区域里的敌人数小于K。这个算法通过DFS来遍历每个区域,然后统计敌人数量,判断是否满足条件。定义上、下、左、右四个方向的偏移量,表示移动一个位置的变化量。N表示地图的行数,M表示地图的列数,K表示目标敌人数量。函数,得到该区域内的敌人数量,如果敌人数量小于。位置开始深度优先搜索,返回该区域内敌人的数量。,表示地图上满足条件的区域数量。

weixin_54707168的博客 464

【华为OD机试真题 C语言】319、战场索敌 | 机试真题+思路参考+代码解析

>有一个大小是N*M的战场地图,被墙壁 "#" 分隔成大小不同的区域,上下左右四个方向相邻的空地 "." 属于同一个区域,只有空地上可能存 在敌人 "E" ,请求出地图上总共有多少区域里的敌人数小于K

KJ.JK 2964

-战场索敌-

有一个大小是 N*M 的战场地图,被墙壁 '# 分隔成大小不同的区域,上下左右四个方向相邻的空地"属于同一个区域,只有空地上可能存在敌人'E”,请求出地图上总共有多少区域里的敌人数小于。目标是计算出地图中有多少个区域的敌人数目小于 K。整个过程可以理解为:先通过遍历地图找出每个独立的区域,然后使用 BFS 算法对每个区域内的所有格子进行扩展和统计,最后判断每个区域的敌人数是否符合要求。- 输入一个大小为 N × M 的字符数组,表示战场地图,其中 '.' 表示空地,'#' 表示墙壁,'E' 表示敌人。

面试高手的博客 1181

《广告核心指标驱动的AI投放系统:从数据洞察到智能决策的全链路优化》

本方案通过构建广告核心指标驱动的AI投放系统,实现从数据采集到智能决策的全链路自动化。

专注Java领域与微服务架构,热爱人工智能与深度学习 1067

永磁同步电机功率计算实战:从公式到避坑指南(附Excel计算模板)

本文详细解析永磁同步电机(PMSM)功率计算的实战技巧,涵盖三维参数体系、三相与单相系统差异、动态工况补偿及常见计算陷阱。特别提供Excel计算模板,帮助工程师快速准确完成功率计算,避免工业应用中的常见错误,提升工作效率。

x8y9z0的博客 802

芯片硅前验证技术与驱动工程师实战指南

硅前验证是芯片开发流程中的关键环节,通过pre-silicon simulation等技术手段在流片前验证设计正确性。其核心技术包括软件仿真、FPGA原型验证和硬件仿真器解决方案,涉及Linux驱动开发、芯片架构理解和波形分析等核心技能。作为连接芯片设计与系统集成的桥梁,硅前验证能早期发现设计缺陷,节省数百万美元流片成本。以Cadence Palladium为代表的硬件仿真器,通过专用服务器系统实现比纯软件方案快100-1000倍的仿真速度,为驱动工程师提供完整的外设模型验证环境。掌握硅前验证技术可显著提升

weixin_42522857的博客 321

对角两对双差速轮AGV的平移、直行、转弯和原地旋转之PID控制

本示例将展示如何使用PID控制算法,控制具有对角线布置的两对双差速轮(左前和右后)的AGV,实现平移、直行、转弯和原地旋转等运动。通过对车辆的运动学和PID控制器的设计,我们可以精确地控制AGV的运动

xiaoc100200的博客 1510

QPrintPreviewDialog 打印预览使用实例

qt打印机预览实用demo

啊渊的专栏 3677

MIMO-OFDM通信系统性能仿真及MATLAB实现

将MIMO和OFDM技术结合起来,可以充分利用两者的优点,进一步提高无线通信系统的性能。在MIMO-OFDM系统中,多个天线同时发射多个子载波,称为多天线多载波(MIMO-OFDM)系统。随着无线通信技术的不断发展,MIMO-OFDM技术因其高效、可靠和适应性等优点已被广泛应用于新一代通信系统中。本篇文章旨在介绍MIMO-OFDM通信系统的基本原理及其性能评估方法,并结合MATLAB提供相关代码实现。本篇文章介绍了MIMO-OFDM通信系统的基本原理和性能评估方法,并结合MATLAB提供了相关的实现代码。

学习使你进步。 2216

android11.0 Launcher3 高端定制之循环滑动

待机界面可以向左、向右循环切换页面 效果图 修改清单 packages/apps/Launcher3/res/values-zh-rCN/strings.xml packages/apps/Launcher3/res/values/config.xml packages/apps/Launcher3/res/values/strings.xml packages/apps/Launcher3/res/xml/launcher_preferences.xml packages/apps/Launc

cczhengv 1548

3D iToF深度分辨率测量

本文展示了RGB-D传感器在三维测量中的高精度表现。标靶深度图显示其具备清晰、低噪、无干扰的特性,点云数据完整度高且轮廓分明。该技术已成功应用于物流(体积测量误差<1%)、工业(高反光部件装配检测)和农业(果蔬成熟度分级)等领域,验证了其硬件和算法的可靠性,能够满足不同场景下的三维测量需求。

dream it possible 252

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 华为OD机试 - 最佳植树距离 - 二分查找(Python/JS/C/C++ 双机位 C卷 100分)
下一篇: 华为OD机试 - 素数之积 - 数学问题(Python/JS/C/C++ 2025 A卷 100分)
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值