喜闻乐见当做BFS的STL模板做了

qwq我这样的蒟蒻也就只能发发模板题

#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
using namespace std;
struct xy{int x,y;
}node,top;
int dx[8]={1,1,2,2,-1,-1,-2,-2};
int dy[8]={2,-2,1,-1,2,-2,1,-1};
int a[405][405],n,m;
queue<xy>Q;
void bfs(){Q.push(node);while(!Q.empty()){top=Q.front(); Q.pop();for(int i=0;i<8;i++){int xx=top.x+dx[i];int yy=top.y+dy[i];if(xx<1||xx>n||yy<1||yy>m) continue;if(a[xx][yy]==-1){node.x=xx;node.y=yy;Q.push(node);a[xx][yy]=a[top.x][top.y]+1;}}}
}
int main(){memset(a,-1,sizeof(a));scanf("%d%d%d%d",&n,&m,&node.x,&node.y);a[node.x][node.y]=0;bfs();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)printf("%-5d",a[i][j]);printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/pushinl/p/8946983.html

Luogu1443 马的遍历【STL通俗BFS】相关推荐

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

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

  2. 【日常水题-bfs】马的遍历

    这几天日常一搜索qaq P1443 马的遍历 1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 ...

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

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

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

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

  5. bfs总结 bfs题单 最短路 python (奇怪的电梯 好奇怪的游戏 迷宫 马的遍历 [USACO08FEB]Meteor Shower S)

    1 可以用来遍历所有的点 2 可以用来找最短路 3 多源最短路,开始时一次向队列放之多个点#板子 """ def bfs():1 起始点入队标记入队的点while not ...

  6. P1443 马的遍历(洛谷)

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

  7. 马的遍历(棋盘游戏)

    广度优先搜索(Breadth First Search, BFS)类似树的按层次遍历. 原则是:尽可能地先横向搜索:特点是:先访问的顶点其邻接点亦先被访问. ①从顶点v出发,置visited[v]=t ...

  8. 搜索2(一、马的遍历 二、 求细胞数量 三、01迷宫 四、奇怪的电梯 五、海战 六、路障)

    搜索2 一.马的遍历 二. 求细胞数量 三.01迷宫 四.奇怪的电梯 五.海战 六.路障 一.马的遍历 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算 ...

  9. GUI设计之马的遍历

    @[TOC]GUI设计之马的遍历(5*5) 象棋中马遍历棋盘 [问题描述] 在N*N棋盘上,任意一个位置放置一个棋子马,要能选择一套合适的移动路线,按象棋中"马走日"的移动规则不重 ...

最新文章

  1. mysql数据库从删库到跑路之mysql完整性约束
  2. Verilog 流水线加法器
  3. 教师节,老师们最大的愿望竟然是。。 | 今日最佳
  4. 什么是卫星的有效载荷?
  5. 运动搜索(运动估计)知识
  6. hybird之web动态换肤实现
  7. 二分法查找有序表中最接近的数值
  8. 使用.NET Core 3.1构建Windows Worker服务以删除文件夹中的旧文件
  9. opencv抠人像_卸载PS吧!这个小程序就能一键AI抠图,超简单!
  10. 文件没有后缀名,如何批量添加为.jpg
  11. httpd-2.4.9.tar.bz2的编译安装配置以及CGI、虚拟主机、https、mod_deflate、mod_status的实现。...
  12. Mac删除Windows10后空间丢失解决
  13. 通讯录_你有多久没翻过通讯录了?
  14. Win10屏幕自带的截图,同时保存多个截图
  15. Bat脚本 -(一)- echo/ echo off/ echo on/ @ / start / pause / rem
  16. 服务器网站常用端口号,web服务器常用端口号
  17. 清华大学计算机与科学系张荷花简历,清华大学软件学院
  18. 计算机主机域名是,主机域名究竟是什么
  19. 关于window10修改默认浏览器闪退的情况
  20. UI设计师平时都用什么设计软件工具?

热门文章

  1. mysql安装教程8.0.22_mysql 8.0.22 安装配置方法图文教程
  2. linux mysql ibd_MySQL:如何从ibd文件中恢复数据
  3. 带权并查集--hdu3047 ZJnu stadium
  4. maven-assembly-plugin插件打包 jar、tar.gz
  5. linux内核驱动模块开发makefile实例解析
  6. 二进制信号量,互斥信号和计数信号量的区别
  7. Perl文件及目录操作
  8. React with Webpack -1: 介绍Helloworld
  9. SIFT算法原理(不带公式)
  10. 机器学习实战(十)利用K-means算法对未标注数据分组