/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-04-06 14:39:48
* @LastEditTime: 2022-04-06 14:52:48
*/
#include<iostream>//P1443
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
const int dx[8]={-1,-2,-2,-1,1,2,2,1};
const int dy[8]={2,1,-1,-2,2,1,-1,-2};//8个方向
queue<pair<int,int> > q;
int f[500][500];//存步数
bool vis[500][500];//走没走过
int main()
{
int n,m,x,y;
memset(f,-1,sizeof(f));memset(vis,false,sizeof(vis));
cin>>n>>m>>x>>y;
f[x][y]=0;vis[x][y]=true;q.push(make_pair(x,y));
while(!q.empty())
{
int xx=q.front().first,yy=q.front().second;q.pop();//取队首并出队
for(int i=0;i<8;i++)
{
int u=xx+dx[i],v=yy+dy[i];
if(u<1||u>n||v<1||v>m||vis[u][v])continue;//出界或走过就不走
vis[u][v]=true;q.push(make_pair(u,v));f[u][v]=f[xx][yy]+1;
}
}
for(int i=1;i<=n;i++)
{for(int j=1;j<=m;j++)printf("%-5d",f[i][j]);printf("\n");}//注意场宽!!
return 0;
}
相关推荐
模拟波束赋形 vs 数字波束赋形:5G天线设计中的成本与性能权衡
本文深入剖析了5G天线设计中模拟波束赋形与数字波束赋形的核心差异,重点探讨了二者在硬件成本、功耗、网络覆盖能力和频谱效率等方面的权衡。文章指出,模拟方案成本低但灵活性有限,数字方案性能强大但代价高昂,而混合波束赋形已成为主流折中方案。决策需紧密结合具体的部署场景、性能要求和总拥有成本进行综合考量。
洛谷P1443 马的遍历
题目描述 有一个n \times mn×m的棋盘,在某个点(x, y)(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为n, m, x, yn,m,x,y。 输出格式 一个n \times mn×m的矩阵,代表马到达某个点最少要走几步(左对齐,宽55格,不能到达则输出-1−1)。 输入输出样例 输入 #1复制 3 3 1 1 输出 #1复制 0 3 2 3 -1 1 ...
海量数据 / Vastbase 深度研究笔记 v3.1
v3.1 重点修订:在 v3.0 审慎版基础上,新增“2026 新变量”章节,纳入 7 亿级定增、HTAP / 多模态时序数据库、G100 V3.0 Build 8 的 3CM+2DN 高可用补强、pgvector / V100 / AI 多模叙事,以及集成服务基因与标准软件 ARR 的拉扯。核心关注点是:Vastbase 能否把 openGauss 生态红利、数据库产品矩阵和行业交付能力,转化为可持续、可复购、低边际成本的标准软件收入。海量不是没有业务基本盘,也不是马上失血致死;客户越多,服务债越大。
洛谷 /P1443 马的遍历
题目描述 有一个n \times mn×m的棋盘,在某个点(x, y)(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为n, m, x, yn,m,x,y。 输出格式 一个n \times mn×m的矩阵,代表马到达某个点最少要走几步(左对齐,宽55格,不能到达则输出-1−1)。 输入输出样例 输入 #1复制 3 3 1 1 输出 #1复制 0 3 2 3 -...
保姆级教程:用CameraX API快速搞定Android多摄像头切换与预览(附避坑指南)
本文提供了一份详细的CameraX API教程,帮助开发者快速实现Android多摄像头切换与预览功能。通过简化API设计和生命周期感知能力,CameraX大幅降低了开发复杂度,同时解决了多摄像头兼容性、预览优化等常见问题。文章包含完整代码示例和实战避坑指南,特别适合需要高效集成相机功能的Android开发者。
独立站如何采集商品?外贸独立站采集教程
从这里Robert了解到还有国内有很多仿牌卖家、微商,都有类似的情况,他们出海的阻碍主要在于支付、物流、推广。8.插件“抓取任务”列表手动点同步,将商品同步到主商城后台商品管理列表(商品默认同步到下架列表中) 后台商品管理下架列表显示已同步商品。5.店铺信息修改完成后,可以开始采集商品,采集时弹窗中会自动识别当前平台及商品链接,分类和相册名称可以自定义 编辑修改。4. 打开采集目标站商品页面,点开谷歌浏览器扩展程序列表,找到Shopyy采集平台,打开配置页。打开弹窗中的“店铺管理”,添加店铺信息。
【马的遍历】
P1443 马的遍历 广度优先搜索
组态王|组态王通过选择日期实现历史数据的查询
②在弹出的【插入通用控件】对话框选择【Calender Control】控件,然后点击【确定】按钮,关闭对话框,然后在画面上适当的位置按住鼠标左键并拖动,绘制出一个矩形框,放开鼠标,就完成了控件的绘制。此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数,转换的时间基准是UTC(格林尼治)1970年1月1日00:00:00。实现内容,通过两个日历控件选择开始日期和结束日期,然后点击【历史数据查询】按钮,在报表中显示对应时间段的数据集。另外你用过哪些组态软件?
【洛谷】P1443 马的遍历 bfs
【洛谷】P1443 马的遍历 bfs 问题描述: 有一个nm的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式: 一行四个数据,棋盘的大小和马的坐标 输出格式: 一个nm的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入: 3 3 1 1 输出: 0 3 2 3 -1 1 2 ...
YOLO26改进105:全网首发--使用BiFPN改进特征金字塔网络
YOLOv6 v3.0在目标检测领域实现重大突破,通过改进网络架构和训练方案显著提升性能。该版本在COCO数据集上展现出优越表现:YOLOv6-N达到37.5% AP/1187 FPS,YOLOv6-S实现45.0% AP/484 FPS,均超越同类检测器。大模型YOLOv6-M/L分别达到50.0%/52.8% AP,L6版本更创下实时检测新纪录。关键技术包括RepVGGBlock、BiFusion等新型模块,通过多分支融合和高效重参数化设计提升性能。研究团队已验证各改进模块有效性,代码已开源。
零基础教你学RDMA驱动开发:从入门到精通--第6章 内存管理与DMA映射6.2 DMA地址转换:内核dma_map_single()与硬件IOVA(I/O虚拟地址)
本文深入探讨RDMA驱动中DMA地址转换机制,重点分析内核dma_map_single()函数与硬件IOVA的作用。主要内容包括:1)DMA地址转换的必要性,解决CPU虚拟地址与HCA设备DMA地址的空间割裂问题;2)内核DMA映射机制实现原理,涵盖无IOMMU(直接物理地址映射)和有IOMMU(IOVA转换)两种场景;3)硬件IOVA的工作流程及其与RDMA内存注册的结合;4)RDMA驱动开发中的关键问题,如缓存一致性、映射方向错误、IOVA泄漏等;5)以mlx5驱动为例的实践分析。文章强调DMA地址转换
洛谷 P1443 马的遍历
洛谷 P1443 马的遍历 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入输出样例 输入 3 3 1 1 输出 0 3 2 3 -1 1 2 ...
5G/NR 随机接入过程学习总结
对于随机接入过程,NR与LTE之间有相同点,也有不同点,其最大的区别在于触发场景已经Msg1的处理,详情见下文。 第21章 随机接入过程 21.1 随机接入过程事件触发场景 1) 初始接入:UE从RRC_IDLE态到RRC_CONNETTED态; 2) RRC连接重建:以便UE在无线链路失败后重新建立无线连接(期间重建小区可能是UE无线链路失败的小区,也...
洛谷P1443 马的遍历(BFS)
洛谷P1443 马的遍历 蒟蒻第一篇题解&博客 一道基本的广搜,也是我第一次完整地自己写出来的广搜,菜死了。。。 大概思路就是从最初的位置开始,遍历八个方向,符合条件的放到队列里,然后出队一个点执行上述操作,直到队列为空。还是挺好写的,个人感觉比深搜好写,也好想。 代码不是很简洁,但是我自己好理解 上代码: #include <iostream> #include <stdio.h> #include <queue> using namespace std; st
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
洛谷. P1443 马的遍历
洛谷 P1443 马的遍历 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入输出格式 输入格式: 一行四个数据,棋盘的大小和马的坐标 输出格式: 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入输出样例 输入样例#1: 3 3 1 1 输出样例#1: 0 3 ...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
P1443 马的遍历(BFS)
该题目的关键在于利用 BFS 遍历整个棋盘,同时利用合理的数组下标控制和边界检查,确保每个合法位置都被正确计算最短步数。BFS 能够在无权图中保证最短路径的正确性,是解决这类问题的经典算法。代码简洁高效,适合用在类似的棋盘遍历问题中。
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
洛谷P1443 马的遍历 题解
洛谷P1443 马的遍历 题解(萌新勿喷)题目内容分析代码总结 题目内容 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n * m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输出入输出样例 输入 3 3 1 1 输出 0...
P1443 马的遍历 题解(bfs 广度优先搜索)
P1443 马的遍历题目分析代码 题目 P1443 马的遍历 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入输出样例 输入 3 3 1 1 输出 0 3 ...
洛谷: P1443 马的遍历
该题可以用bfs广度优先搜索遍历来解决,因为广度优先遍历可以保证第一次访问某一个节点时得到的结果就是最短路径,完美的符合该题的题意。即动态扩容的队列,可以有效地避免数组开的过大或过小,而发生错误。并且不能用延迟标记的方法,要立即标记当前的状态。我第一次就是用的延迟标记的方法,但是最后会超出队列的内存限制,再请教了deepseek之后,才了解到了延迟标记和立即标记的具体区别.有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。这也让我长见识了。
BFS洛谷P1443 马的遍历 (我的算法学习之路)
洛谷P1443 马的遍历 (我的算法学习之路) 标签:搜索 广度优先搜索(BFS) 队列 #include<iostream> #include<stdio.h> #include<algorithm> #include<queue> using namespace std; int xx[8]={2,2,1,1,-2,-2,-1,-1}; int yy[8]={1,-1,2,-2,1,-1,2,-2}; int mp[405][405]; struct h
840



被折叠的 条评论
为什么被折叠?



