OpenJ_Bailian - 4115  鸣人和佐助(BFS特殊判重)
佐助被大蛇丸诱骗走了鸣人在多少时间内能追上他呢已知一张地图以二维矩阵的形式表示以及佐助和鸣人的位置。地图上的每个位置都可以走到只不过有些位置上有大蛇丸的手下需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动每移动一个距离需要花费1个单位时间打败大蛇丸的手下不需要时间。如果鸣人查克拉消耗完了则只可以走到没有大蛇丸手下的位置不可以再移动到有大蛇丸手下的位置。佐助在此期间不移动大蛇丸的手下也不移动。请问鸣人要追上佐助最少需要花费多少时间Input输入的第一行包含三个整数MNT。代表M行N列的地图和鸣人初始的查克拉数量T。0 M,N 2000 ≤ T 10后面是M行N列的地图其中代表鸣人代表佐助。*代表通路#代表大蛇丸的手下。Output输出包含一个整数R代表鸣人追上佐助最少需要花费的时间。如果鸣人无法追上佐助则输出-1。Sample Input样例输入1 4 4 1 ### **## ### **** 样例输入2 4 4 2 ### **## ### ****Sample Output样例输出1 6 样例输出2 4此题需要特殊判重判重的意义在于不再走重复的路防止进入死循环简单判重只用于到达某位置只是先后次序不同其他状态相同。而此题由于先后到达某点的路径不同查克拉的数量可能也会有所不同甚至会影响是否能到达终点因此不能简单的判重。如果后面到达时的查克拉数量大于之前到达的量则可以加入队列以免走了最前面的路消耗完查克拉最后到达不了终点#includecstdio #includequeue #includecstring using namespace std; char a[205][205]; int yao[205][205]; //记录之前到达该位置最多的查克拉数 int d[4][2]{0,1,1,0,0,-1,-1,0}; int n,m,T,ans; struct node { int y,x,o,t; node(int yy,int xx,int oo,int tt):y(yy),x(xx),o(oo),t(tt){} //方便直接调用 }; int bfs(int i,int j) { memset(yao,-1,sizeof(yao)); //最大药量初始化为-1在现有查克拉数为0时也可以通过‘*’‘’(除了‘#’)因为后面要判断现有查克拉数要大于之前位置的最大药量才能加入队列 queuenode q; q.push(node(i,j,T,0)); while(!q.empty()) { node nowq.front();q.pop(); if(a[now.y][now.x]) { return now.t; } for(int i0;i4;i) { int snow.yd[i][0]; int hnow.xd[i][1]; if(s0||sn||h0||hm) continue; if(a[s][h]#yao[s][h]now.o-1) //yao[s][h]next.o { q.push(node(s,h,now.o-1,now.t1)); yao[s][h]now.o-1; } else if(a[s][h]!#yao[s][h]now.o) { q.push(node(s,h,now.o,now.t1)); yao[s][h]now.o; } } } return -1; } int main() { scanf(%d%d%d,n,m,T); for(int i0;in;i) { scanf(%s,a[i]); } for(int i0;in;i) { for(int j0;jm;j) { if(a[i][j]) { printf(%d,bfs(i,j)); return 0; } } } return 0; }

相关新闻

【单片机毕业设计推荐】基于 STM32 的智能衣柜环境监测与远程控制系统设计,基于 STM32 的多功能智能储物柜物联网监测装置设计(012004)

【单片机毕业设计推荐】基于 STM32 的智能衣柜环境监测与远程控制系统设计,基于 STM32 的多功能智能储物柜物联网监测装置设计(012004)

文章目录20 个相关毕业设计备选题目项目研究背景摘要总体方案核心功能技术路线项目演示关于我们项目案例源码获取温馨提示:本人主页置顶文章(点我)有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)有 CSDN 平台官…

2026/11/6 10:10:39 阅读更多 →
AI+低代码落地复盘:跳出理论误区,拆解行业真实落地方案

AI+低代码落地复盘:跳出理论误区,拆解行业真实落地方案

当下AI与低代码的融合已成为企业数智化转型的核心抓手,但多数团队落地仅停留在“表单拖拽AI辅助输入”的浅层应用,普遍存在理论适配完美、业务落地翻车、迭代效率低下、ROI不达预期等问题。 一、前言:AI低代码的落地困境,远比理论…

2026/11/5 6:18:27 阅读更多 →
OpenModScan:彻底改变工业调试的免费Modbus工具终极指南

OpenModScan:彻底改变工业调试的免费Modbus工具终极指南

OpenModScan:彻底改变工业调试的免费Modbus工具终极指南 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 还在为工业设备通讯调试而烦恼吗?面对复…

2026/11/6 1:57:39 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/5 12:28:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/6 9:29:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/5 12:28:01 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/5 12:28:02 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/6 8:08:42 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/5 19:38:59 阅读更多 →

日新闻

周新闻

月新闻