首页 > TAG信息列表 > p1443
P1443 马的遍历
P1443 马的遍历 分析:根据题意,本题用bfs求解,马每次有八个方位的走向,将步数初始化为-1,这样如果没有马跳到这个地方就直接输出-1,使用队列先进先出的特点,在马每跳到一个方位后放到队尾,等待下一次跳马,其中要开结构体将矩阵图横纵坐标联系起来,每次在指定范围内跳完后更新点的位置并将步P1443 马的遍历
题目链接 https://www.luogu.com.cn/problem/P1443 题目思路 经典宽搜问题,记住马走日! 题目代码 #include <iostream> #include <algorithm> #include <cstring> #include <queue> using namespace std; typedef pair<int, int> PII; const int N = 410; bool st[N【bfs】洛谷 P1443 马的遍历
题目:P1443 马的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记录一下第一道ac的bfs,原理是利用队列queue记录下一层的所有点,然后一层一层遍历; 其中: 1.pair<,>可以将两个数据类型压缩成一个数据压进队列里,在表示二维坐标时好用。 2.setw()可以设置输出的宽度,left可以设置为p1443 马的遍历//bfs
题目描述 有一个 n×m 的棋盘,在某个点 (x, y)(x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为 n, m, x, y。 输出格式 一个 n×m 的矩阵,代表马到达某个点最少要走几步(左对齐,宽 5 格,不能到达则输出 −1)。 输入luogu P1443 马的遍历(BFS
BFS #include<bits/stdc++.h> using namespace std; typedef long long ll; #define INF 0x3f3f3f3f #define MAXN 100005 #define MAXM 1000005 int n,m,X,Y; int dx[10]={0,1,2,-2,-1,-1,2,1,-2}; int dy[10]={0,2,1,-1,-2,2,-1,-2,1}; queue<int>qx,qy,qstep;洛谷 P1443 马的遍历
洛谷 P1443 马的遍历 题目链接 题目描述 有一个nm的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输出格式 一个nm的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入 3 3 1 1 输出 0 3 2 3 -1 1 2 1 4 **题解:**赤洛谷P1443 马的遍历 题解 bfs dfs
方法:bfs 先放AC代码: #include<iostream> #include<queue> #include<algorithm> using namespace std; typedef pair<int, int> PII; #define x first #define y second int dx[] = { -2,-1,1,2,2,1,-1,-2 }, dy[] = { 1,2,2,1,-1,-2,-2,-1 }; const int洛谷 P1443 马的遍历
题目:马的遍历 网址:https://www.luogu.com.cn/problem/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步? 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5洛谷p1443(bfs)
题目链接:洛谷p1443 没什么好说的,简单的bfs,注意左对齐的格式,x对应行,y对应列 上代码。 #include <bits/stdc++.h> using namespace std; typedef pair<int,int> p; int dx[]={1,1,2,2,-1,-1,-2,-2}; int dy[]={2,-2,1,-1,2,-2,1,-1}; int n,m; int sx,sy; int step=0; int vi洛谷 P1443 马的遍历题解
题目链接:https://www.luogu.org/problem/P1443 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能【洛谷P1443 马的遍历】
题目链接(%%%jyy大佬) 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入输出格式 输入格式: 一行四个数据,棋盘的大小和马的坐标 输出格式: 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1) 输入输洛谷P1443 马的遍历
https://www.luogu.org/problemnew/show/P1443 很经典的搜索题了,蒟蒻用广搜打的 不说了,上代码! #include<bits/stdc++.h>using namespace std;struct xy {//定义结构体 int x,y;//x,y两个方向} node,Top;int dx[8]={2,-2,2,-2,-1,1,-1,1};int dy[8]={1,1,-1,-1,2,2,-2,-2};//马