关于我家马跑了但不会跑这件事
查看原帖
关于我家马跑了但不会跑这件事
494192
ChickenDrinkingMilk楼主2022/2/13 21:18
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,ans,vis[405][405];
int dx[8]={-2,-2,-1,1,2,2,1,-1},dy[8]={-1,1,2,2,1,-1,-2,-2};
struct node{
	int x,y,step;
};
queue<node>q;
int bfs(){
	//while (!q.empty()) q.pop();
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			vis[i][j]=-1;
	q.push((node){x,y,0});
	vis[x][y]=0;
	while (!q.empty()){
		node n1=q.front();
		q.pop();
		//if (n1.x==x&&n1.y==y) return n1.step;
		for (int i=0;i<8;i++){
			int xx=n1.x+dx[i],yy=n1.y+dy[i];
			if (vis[xx][yy]==-1){
				q.push((node){xx,yy,n1.step+1});
				vis[xx][yy]=n1.step+1;
			}
		}
	}
	return -1;
}
int main(){
	bfs();
	cin>>n>>m>>x>>y;
	for (int i=1;i<=n;i++){
		for (int j=1;j<=m;j++)
			printf("%-5d",vis[i][j]);
		cout<<"\n";
	}
	return 0;
}

这代码输出全是0,求助大佬

2022/2/13 21:18
加载中...