news 2026/2/22 20:17:45

洛谷P1825 [USACO11OPEN] Corn Maze S

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷P1825 [USACO11OPEN] Corn Maze S

题目描述

link

思路

如果没有传送门的话,这就是一个 BFS 板子题,但是传送门该如何处理呢?

大概就是更新四方向的时候,加上一个是否为传送门的判断,是传送门的话就传过去

细节0

参考文献

传送门可以多次经过,例如

##=## ##.## ##A## #@.## ##### ##A.# #####

细节1

传送操作不能连续使用,即,传送一次之后,必须通过非传送方式移动至少一步才能再次进行传送。

看下面这个例子:

12345 1 ##=## 2 ##.## 3 ##B## 4 #AB## 5 ##.A# 6 ###@#

( 5 , 4 ) (5,4)(5,4)传送到( 4 , 2 ) (4,2)(4,2)之后,不能再回到( 5 , 4 ) (5,4)(5,4),但是可以先走一步到( 4 , 3 ) (4,3)(4,3),然后再传送

代码

#include<iostream>#include<cstdio>#include<vector>#include<queue>usingstd::queue;usingstd::vector;usingstd::pair;structnode{intx,y,cnt;};constintdx[]={-1,0,1,0};constintdy[]={0,-1,0,1};constintN=305;intn,m;charc[N][N];intsx,sy,ex,ey;vector<pair<int,int>>doors[26];//每个字母对应的两个传送门坐标boolvis[N][N];pair<int,int>getdoor(intx,inty){//传送过去后的坐标autopii=doors[c[x][y]-'A'][0];if(pii==std::make_pair(x,y))returndoors[c[x][y]-'A'][1];returnpii;}intbfs(){queue<node>q;q.push({sx,sy,0});vis[sx][sy]=true;while(q.size()){node ff=q.front();q.pop();if(ff.x==ex&&ff.y==ey)returnff.cnt;for(inti=0;i<4;i++){intxx=ff.x+dx[i],yy=ff.y+dy[i];if(xx<1||xx>n||yy<1||yy>m||c[xx][yy]=='#'||vis[xx][yy])continue;if(isupper(c[xx][yy])){autopii=getdoor(xx,yy);intxxx=pii.first,yyy=pii.second;q.push({xxx,yyy,ff.cnt+1+0});//+1是到传送门,+0是传送}else{vis[xx][yy]=true;q.push({xx,yy,ff.cnt+1});}}}return-1;}intmain(){scanf("%d%d\n",&n,&m);for(inti=1;i<=n;i++){scanf("%s",c[i]+1);for(intj=1;j<=m;j++){if(c[i][j]=='@'){sx=i;sy=j;}elseif(c[i][j]=='='){ex=i;ey=j;}elseif(isupper(c[i][j]))doors[c[i][j]-'A'].emplace_back(i,j);}}printf("%d",bfs());return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/17 14:39:41

图解说明UDS诊断协议通信流程图

深入理解UDS诊断协议&#xff1a;从会话控制到安全访问的实战解析在现代汽车电子系统中&#xff0c;ECU&#xff08;电子控制单元&#xff09;的数量早已突破百个。随着功能复杂度飙升&#xff0c;传统的OBD-II诊断标准已无法满足对深度故障读取、固件刷写和参数标定的需求。此…

作者头像 李华
网站建设 2026/2/11 7:05:45

SGLang-v0.5.6部署实战:混合精度推理加速技巧

SGLang-v0.5.6部署实战&#xff1a;混合精度推理加速技巧 1. 引言 随着大语言模型&#xff08;LLM&#xff09;在实际业务场景中的广泛应用&#xff0c;如何高效部署并优化推理性能成为工程落地的关键挑战。SGLang-v0.5.6作为新一代结构化生成语言框架&#xff0c;在提升吞吐…

作者头像 李华
网站建设 2026/2/20 21:10:36

SenseVoice Small保姆级教程:语音识别模型训练

SenseVoice Small保姆级教程&#xff1a;语音识别模型训练 1. 引言 1.1 学习目标 本文旨在为开发者和研究人员提供一份完整的 SenseVoice Small 模型训练与二次开发指南。通过本教程&#xff0c;您将掌握&#xff1a; 如何部署并运行基于 SenseVoice Small 的 WebUI 界面如…

作者头像 李华
网站建设 2026/2/20 14:03:30

YOLO26效果展示:车辆识别实际案例分享

YOLO26效果展示&#xff1a;车辆识别实际案例分享 1. 引言 随着智能交通系统和自动驾驶技术的快速发展&#xff0c;高效、准确的目标检测模型在车辆识别场景中扮演着至关重要的角色。YOLO&#xff08;You Only Look Once&#xff09;系列作为实时目标检测领域的标杆&#xff…

作者头像 李华