马的遍历(洛谷-P1443)
题目描述
有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步
输入输出格式
输入格式:
一行四个数据,棋盘的大小和马的坐标
输出格式:
一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1)
输入输出样例
输入样例#1:
3 3 1 1
输出样例#1:
0 3 2
3 -1 1
2 1 4
源代码
#include<iostream>
#include<cstdio>
using namespace std;
int a[401][401],judge[160801][2];
int main()
{int n,m,x,y;int direction_x[8]={2,-2,2,-2,-1,1,-1,1},direction_y[8]={1,1,-1,-1,2,2,-2,-2};//方向坐标int result_x,result_y;int p,q=2;int i,j;cin>>n>>m;//输入棋盘大小cin>>x>>y;//输入马的坐标for(i=1;i<=n;i++)//让初始值为-1 for(j=1;j<=m;j++)a[i][j]=-1;judge[1][0]=x;//设置判断数组的初始坐标xjudge[1][1]=y;//设置判断数组的初始坐标ya[x][y]=0;while(p++<q-1)//头端加1并判断 for(i=0;i<8;i++)//判断坐标{result_x=judge[p][0]+direction_x[i];//求到达坐标xresult_y=judge[p][1]+direction_y[i];//求到达坐标y if(result_x>0&&result_x<=n&&result_y>0&&result_y<=m&&a[result_x][result_y]==-1)//判断到达坐标是否在范围内{judge[q][0]=result_x;judge[q++][1]=result_y;a[result_x][result_y]=a[judge[p][0]][judge[p][1]]+1;//添加到bfs数组尾端 }}for(i=1;i<=n;i++)//输出到达步数{for(j=1;j<=m;j++)printf("%-5d",a[i][j]); cout<<endl;} return 0;
}
马的遍历(洛谷-P1443)相关推荐
- 广度优先搜索(BFS)——马的遍历(洛谷 P1443)
来看一道经典的搜索问题--马的遍历 大致题目,给定棋盘规模,以及马的初始位置,输出马到棋盘的最短距离,若不能到达则输出-1 很简单的一个搜索问题,用经典算法BFS就可以了,唯一需要注意判断的就是马有8 ...
- 洛谷 P1443 马的遍历(BFS)
P1443 马的遍历 题目链接:https://www.luogu.org/problemnew/show/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一 ...
- 【C++】洛谷P1443 马的遍历
马的遍历 题目描述 有一个 n × m n \times m n×m 的棋盘,在某个点 ( x , y ) (x, y) (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步. 输入 ...
- 图论——图的遍历(洛谷 P3916)
题目选自洛谷P3916 反向建边 + dfs 按题目来每次考虑每个点可以到达点编号最大的点,不如考虑较大的点可以反向到达哪些点 循环从N到1,则每个点i能访问到的结点的A值都是i 每个点访问一次,这个 ...
- 洛谷P1443 马的遍历
bfs宽搜 #include<iostream> #include<cstring> #include<vector> #include<queue> ...
- NOI2015 Day2 T1 荷马史诗(洛谷P2168)
题目描述 追逐影子的人,自己就是影子 --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛&g ...
- P1443 马的遍历(洛谷)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 P1443 马的遍历 * Front knowledge 一.Question 二.MY CODE P1443 马的遍历 * ...
- 马的遍历(BFS)-洛谷
洛谷-马的遍历 来源:https://www.luogu.com.cn/problem/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马 ...
- 遍历Map要选择好的遍历方式(洛谷P1097题题解,Java语言描述)
题目要求 P1097题目连接 分析 这题标签里有一个"高性能",瞬间令我心惊胆战,毕竟Java嘛. 我们应该会写排序,比如快排,但可以利用现成的数据结构啊,本来想的是TreeSet ...
最新文章
- django的模板系统
- 限时免费下载丨《2021 中国游戏市场挑战与机遇盘点》重磅发布!
- F5与Ctrl+F5及地址栏输入地址回车
- 【今晚7点半】:超低延迟下的实时合唱体验升级
- 从流程上对rtmp协议经行总结
- 机器学习基础:分类vs回归
- mysql 主主模式优缺点_mysql主主同步模式
- python元组和列表字典_python:列表、元组和字典
- TensorFlow 教程 --进阶指南--3.3可视化学习
- C语言学习笔记---指向函数的指针
- day14ARP协议、路由原理、ARP实验、ARP防御、2003虚拟机如何关闭定时锁屏
- 【干货】32个EMC标准电路分享!
- 计算机屏幕显示不能全屏,电脑屏幕小软件显示不全
- ie浏览器多开-----同时登陆多个账号
- STM32F091不识别仿真器的案例
- 通过PS制作一个苹果样式的“牛仔裤”
- lange耦合器设计步骤_用于承受1000W的3dBLange耦合器及制备方法与流程
- TCP三次握手及其相关问题
- vins-fusion代码解读[五] imu在vins里的理解
- BZOJ3811: 玛里苟斯