蓝桥杯备考:bfs之马的遍历

server/2025/3/6 9:33:11/

像这种最短路径啊,我们一般都是用的bfs来求

像这道题,我们要定义dxdy两个方向向量

然后我们先把起点放在队列里面,然后把起点出队列,把最短路径是1的点放在队列里面,然后在再依次把最短路径是1的点出队列,把最短路径是2的点代入队列,一直到队列里没有元素时截至,进队列的同时我们要把这个队列的最短路径存到二维数组里面

方向向量的选择

BFS遍历过程

下面我们来展示代码

#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
const int N = 410;
int path[N][N];
typedef pair<int,int> PII;
int n,m,x,y;
int dx[] = {1, 2, 2, 1, -1, -2, -2, -1};
int dy[] = {2, 1, -1, -2, -2, -1, 1, 2};
void bfs()
{queue <PII> q;q.push({x,y});path[x][y] = 0;while(q.size()){auto t = q.front();q.pop();int px = t.first; int py = t.second;for(int i = 0;i<=7;i++){int x = px+dx[i];int y = py+dy[i];if(x<1 || x>n || y<1 || y>m) continue;if(path[x][y]!=-1) continue;path[x][y] = path[px][py]+1;q.push({x,y});} }}
int main()
{cin >> n >> m >> x >> y;memset(path,-1,sizeof path);bfs();for(int i = 1;i<=n;i++){for(int j = 1;j<=m;j++){cout << path[i][j] << " ";}cout << endl;}return 0;
}


http://www.ppmy.cn/server/172835.html

相关文章

SpringMVC请求处理流程:DispatcherServlet工作原理

文章目录 引言一、DispatcherServlet概述二、DispatcherServlet初始化过程三、请求接收与处理器匹配四、请求参数绑定与处理器执行五、视图解析与渲染六、异常处理机制总结 引言 SpringMVC框架是Java Web开发中最流行的MVC框架之一&#xff0c;其核心组件DispatcherServlet作为…

【封闭式】论文写作技巧--集中学习+集中写作

学术论文写作是许多科研人员、研究生以及青年学者都会面临的重要挑战。从选题的确定到创新点的挖掘&#xff0c;再到最终成稿&#xff0c;每一步都需要逻辑清晰、方法科学和语言精准。然而&#xff0c;繁重的科研任务和有限的指导资源让许多人在论文写作过程中感到迷茫。为了解…

2024华为OD机试真题-螺旋数字矩阵-(C++)-E卷D卷-100分

2024华为OD机试题库-(E卷+C卷+D卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 用例2 用例3 考点 解题思路 代码 c++ 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 …

《导游职业资格考试:保持良好心态,从容应对挑战》

《导游职业资格考试&#xff1a;保持良好心态&#xff0c;从容应对挑战》 备考导游职业资格考试是一场持久战&#xff0c;保持良好心态至关重要。在备考初期&#xff0c;制定合理的学习计划和目标&#xff0c;将整个备考过程分解为多个阶段&#xff0c;每个阶段设定明确的小目…

《Canvas修仙传·第四重天元婴境(下集)》 ——虚空幻境与三千法则的终极融合

诸位道友&#xff0c;历经三生三世的修炼&#xff0c;今日我们终将登顶三维修仙的巅峰&#xff01;本章将融合时空法则、物理天道与粒子大道&#xff0c;在浏览器中开辟电影级虚拟宇宙&#xff01;&#x1f31f; 章前虚空词典&#xff08;下&#xff09; &#x1f50d; 元婴境…

EasyDSS视频推拉流系统:清理缓存文件时如何确保缓存读写不受影响?

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务&#xff0c;搭配RTMP高清摄像头使用&#xff0c;可将无人机设备的实时流推送到平台上&#xff0c;实现无人机视频推流直播、巡检等应用。 有用户咨询&#xff0c;视频推…

【CV001】归一化互相关模板匹配matlab实现

Normalized Cross-Correlation (NCC) 的原理 Normalized Cross-Correlation (NCC) 是一种衡量两个信号或图像之间相似度的度量方法。它在图像处理、计算机视觉和信号处理等领域应用广泛&#xff0c;特别是在模板匹配&#xff08;template matching&#xff09;中。NCC 的目标是…

Dify部署与使用介绍-生成式 AI 应用创新引擎

Dify部署与使用介绍-生成式 AI 应用创新引擎 1. Dify概述 1.1 简介 官方网址&#xff1a;https://dify.ai/zh 官方对于Dify的介绍&#xff1a;开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&#xff0c;轻松构建和运营生成式 …