首页 > 其他分享 >P1443

P1443

时间:2024-10-07 20:00:45浏览次数:6  
标签:&& P1443 int 405 啊啊啊 dx

又忘发博客了啊啊啊啊啊啊啊
马的遍历竟然现在才写……
模板bfs。

#include<bits/stdc++.h>
using namespace std;
queue<int> _x,_y;
int ma[405][405],dx,dy;
int qx[8]={1,1,2,2,-1,-1,-2,-2};
int qy[8]={-2,2,-1,1,2,-2,1,-1};
int main() {
	int n,m,x,y;
	cin>>n>>m>>x>>y;
	_x.push(x);_y.push(y);ma[x][y]=1;
	while(!_x.empty()){
		for(int i=0;i<8;i++){
			dx=_x.front()+qx[i];
			dy=_y.front()+qy[i];
			if(dx>0&&dy>0&&dx<=n&&dy<=m&&(!ma[dx][dy]))ma[dx][dy]=ma[_x.front()][_y.front()]+1,_x.push(dx),_y.push(dy);
		}
		_x.pop();_y.pop();
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<ma[i][j]-1<<' ';
		}
		cout<<'\n';
	}
}

标签:&&,P1443,int,405,啊啊啊,dx
From: https://www.cnblogs.com/zan-mei-tai-yang/p/18450542

相关文章

  • BFS 马的遍历————洛谷p1443
    马的遍历题目描述有一个\(n\timesm\)的棋盘,在某个点\((x,y)\)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入格式输入只有一行四个整数,分别为\(n,m,x,y\)。输出格式一个\(n\timesm\)的矩阵,代表马到达某个点最少要走几步(不能到达则输出\(-......
  • 广度优先搜索 洛谷P1443马的遍历(bfs超时问题)
    广度优先搜索洛谷P1443这里先介绍一下广度优先搜索:广度优先搜索就是先将第一步可能的步骤全部记录,遍历过后,再将由第一步到达的第二步全部记录并遍历,直到最后全部遍历。而此题要求我们求得最少步数,广度优先就能够达到最少步数的要求,因为广度优先是先通过搜索所有可能的第n步才......
  • 洛谷P1443 马的遍历(bfs模版题)
    洛谷P1443马的遍历https://www.luogu.com.cn/problem/P1443一道经典的bfs入门题这里贴上代码//#defineLOCAL1#define_CRT_SECURE_NO_WARNINGS1#include<bits/stdc++.h>//#defineintlonglong#defineendl"\n";usingnamespacestd;constintmaxn=500;intG......
  • 洛谷题单指南-搜索-P1443 马的遍历
    原题链接:https://www.luogu.com.cn/problem/P1443题意解读:无论是国际象棋还是中国象棋,马的活动范围都是一样的:只不过国际象棋棋子是在格子中,中国象棋棋子是在交点,坐标的变化方式是一样的,根据此活动范围,计算马到达每一个点的最短路径。解题思路:根据马的活动范围,在棋盘内进行B......
  • P1443 马的遍历
    马的遍历题目描述有一个\(n\timesm\)的棋盘,在某个点\((x,y)\)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入格式输入只有一行四个整数,分别为\(n,m,x,y\)。输出格式一个\(n\timesm\)的矩阵,代表马到达某个点最少要走几步(不能到达则输出\(-......
  • 洛谷P1443 马的遍历(BFS广度优先搜索)
    这道题只要求输入最小步数即可,而且数据的个数较大,所以优先采用BFS(广度优先搜索):广度优先搜索,即以数据搜索的广度优先,换句话说就是每一次操作都将所有可能的结果存储下来,随后对数据进行下一步处理,注意是对每组数据都只进行一次处理,如果是一条路走到头,这就变成了深度优先搜索(DFS)。而基......
  • 洛谷P1443:马的遍历--题解
    写在前面这是蒟蒻第一篇题解。作为一名没带脑子的初中生的第一篇题解,本题解必定存在诸多错误,给您带来的不便敬请谅解。对于不足之处与错误,还请多多包涵,并欢迎批评指正!本题目来自于洛谷,网址https://www.luogu.com.cn/problem/P1443。非营利性,侵权请联系删除。题目详情马的遍历......
  • P1443 马的遍历
    P1443马的遍历分析:根据题意,本题用bfs求解,马每次有八个方位的走向,将步数初始化为-1,这样如果没有马跳到这个地方就直接输出-1,使用队列先进先出的特点,在马每跳到一个方位后......
  • 洛谷 P1443 马的遍历
    题目链接:https://www.luogu.com.cn/problem/P1443试题分析:题目是一个比较经典的广搜题,首先我们要读入长,宽,和马起点的坐标,然后将其压入队尾;在队列不为空时,一直取队首并将其......