[LUOGU]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 基础的宽搜,最后注意输出-1的问题.. 我的思路是把除了起始点的0都换成-1 不过memset -1也可以 //W…
题目:P1443 马的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记录一下第一道ac的bfs,原理是利用队列queue记录下一层的所有点,然后一层一层遍历: 其中: 1.pair<,>可以将两个数据类型压缩成一个数据压进队列里,在表示二维坐标时好用. 2.setw()可以设置输出的宽度,left可以设置为左对齐. 代码: #include <iostream> #include <queue> #include <iomanip>…
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<queue> #include<…
  1330:[例8.3]最少步数 s数组:记录(1,1)到达每一点需要的最少步数 s[1][1]自然为 0,其余初始化为 -1 que数组:que[#][1] 表示(1,1)可到达点的 x 坐标 que[#][2] 表示(1,1)可到达点的 y 坐标 que[#][3] 表示(1,1)可到达点的 最少步数 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #inc…
https://www.luogu.org/problemnew/show/P1443 很经典的搜索题了,蒟蒻用广搜打的 不说了,上代码! #include<bits/stdc++.h> using namespace std; struct xy {//定义结构体 int x,y;//x,y两个方向 } node,Top; ]={,-,,-,-,,-,}; ]={,,-,-,,,-,-};//马走的八个方向 ][]; ][]; int n,m; void bfs(int x,int y,in…
题目:https://www.luogu.org/problemnew/show/P1443 简单的BFS模板题——因为我写出来了. 分析过程: n*m矩阵,用二维数组 数据不大,二维数组稳了 先把二维数组初始化为-1,马的坐标,即起点的坐标再设为0 接着开始遍历——8个方向(下过中国象棋的大牛应该不陌生) 设一个结构,储存落点的位置与所走的步数,每走一次就记录一次 此时,还要判断落点是否还是-1,这样就可以避免重复 本来这样就可以AC了,但此题有个陷阱就是: 输出格式: 一个n*m的矩阵,代表…
终于遇到一个简单纯粹一点的bfs了...... 题目链接:https://www.luogu.org/problemnew/show/P1443 题目是求到达一个点的最短步数 也就是说我只要bfs遍历到这个点的时候顺便给他赋值就好啦 这样肯定是最优解 上代码: #include<bits/stdc++.h> using namespace std; ][],ax[]={,,,,-,-,-,-},ay[]={,,-,-,-,-,,}; queue <int> q; void bfs(…
题目链接:https://www.luogu.org/problem/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 题解 此题是典型的BFS问题.不过和01迷宫问题有两…
https://www.luogu.org/problem/show?pid=1443#sub 题目描述 有一个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 &…
题目链接(%%%jyy大佬) 题目描述 有一个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 主要是BFS的思想(毕竟是BFS经典题QwQ)我们直接通过注释来理解叭 #…