题目描述

有一个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)相关推荐

  1. 广度优先搜索(BFS)——马的遍历(洛谷 P1443)

    来看一道经典的搜索问题--马的遍历 大致题目,给定棋盘规模,以及马的初始位置,输出马到棋盘的最短距离,若不能到达则输出-1 很简单的一个搜索问题,用经典算法BFS就可以了,唯一需要注意判断的就是马有8 ...

  2. 洛谷 P1443 马的遍历(BFS)

    P1443 马的遍历 题目链接:https://www.luogu.org/problemnew/show/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一 ...

  3. 【C++】洛谷P1443 马的遍历

    马的遍历 题目描述 有一个 n × m n \times m n×m 的棋盘,在某个点 ( x , y ) (x, y) (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步. 输入 ...

  4. 图论——图的遍历(洛谷 P3916)

    题目选自洛谷P3916 反向建边 + dfs 按题目来每次考虑每个点可以到达点编号最大的点,不如考虑较大的点可以反向到达哪些点 循环从N到1,则每个点i能访问到的结点的A值都是i 每个点访问一次,这个 ...

  5. 洛谷P1443 马的遍历

    bfs宽搜 #include<iostream> #include<cstring> #include<vector> #include<queue> ...

  6. NOI2015 Day2 T1 荷马史诗(洛谷P2168)

    题目描述 追逐影子的人,自己就是影子 --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛&g ...

  7. P1443 马的遍历(洛谷)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 P1443 马的遍历 * Front knowledge 一.Question 二.MY CODE P1443 马的遍历 * ...

  8. 马的遍历(BFS)-洛谷

    洛谷-马的遍历 来源:https://www.luogu.com.cn/problem/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马 ...

  9. 遍历Map要选择好的遍历方式(洛谷P1097题题解,Java语言描述)

    题目要求 P1097题目连接 分析 这题标签里有一个"高性能",瞬间令我心惊胆战,毕竟Java嘛. 我们应该会写排序,比如快排,但可以利用现成的数据结构啊,本来想的是TreeSet ...

最新文章

  1. django的模板系统
  2. 限时免费下载丨《2021 中国游戏市场挑战与机遇盘点》重磅发布!
  3. F5与Ctrl+F5及地址栏输入地址回车
  4. 【今晚7点半】:超低延迟下的实时合唱体验升级
  5. 从流程上对rtmp协议经行总结
  6. 机器学习基础:分类vs回归
  7. mysql 主主模式优缺点_mysql主主同步模式
  8. python元组和列表字典_python:列表、元组和字典
  9. TensorFlow 教程 --进阶指南--3.3可视化学习
  10. C语言学习笔记---指向函数的指针
  11. day14ARP协议、路由原理、ARP实验、ARP防御、2003虚拟机如何关闭定时锁屏
  12. 【干货】32个EMC标准电路分享!
  13. 计算机屏幕显示不能全屏,电脑屏幕小软件显示不全
  14. ie浏览器多开-----同时登陆多个账号
  15. STM32F091不识别仿真器的案例
  16. 通过PS制作一个苹果样式的“牛仔裤”
  17. lange耦合器设计步骤_用于承受1000W的3dBLange耦合器及制备方法与流程
  18. TCP三次握手及其相关问题
  19. vins-fusion代码解读[五] imu在vins里的理解
  20. BZOJ3811: 玛里苟斯

热门文章

  1. 哪些数据库是行存储?哪些是列存储?有什么区别?
  2. 图灵奖得主Bengio:深度学习让AI得以推理和想象,不会被取代
  3. 12款堪称神器的 Chrome 插件,Max 你的工作效率!
  4. 一觉醒来,没有购房资格了!
  5. 线上一次fullgc搞得鸡飞狗跳后,我总结了这篇文章
  6. 知乎:fastjson这么快,为啥老外还是热衷 jackson?
  7. 什么?你项目还在用Date表示时间?!
  8. 如果面试官问你:Redis 内存满了怎么办?
  9. 腾讯再发股票吸引人才,受益2.57万名员工,人均超8万港元
  10. 山哥新作:架构师必备技能之业务分析