BFS 30分,wa代码
查看原帖
BFS 30分,wa代码
825829
F__K_z楼主2023/7/18 18:42
#include<bits/stdc++.h>
#define int long long
#define i64 int_fast64_t
using namespace std;
int mark[1005][1005];
int dis[1005][1005];
int x1,ye,x2,y2;
int sx,sy,ex,ey;
int d[12][2] = {2,1,-2,-1,2,-1,-2,1,1,2,-1,-2,1,-2,-1,2,-2,2,2,2,2,-2,-2,-2};
struct node{
	int x,y;
};
void bfs(int x,int y,int n,int m){
	queue<node > q;
	q.push({x,y});
	memset(mark,0,sizeof(mark));
	memset(dis,0,sizeof(dis));
	mark[x][y] = 1;
	dis[x][y] = 0;
	while(!q.empty()){
		node t = q.front();
		q.pop();
		for(int i=0;i<12;i++){
			int dx = t.x + d[i][0];
			int dy = t.y + d[i][1];
			if(!mark[dx][dy] && dx >= 1&&dx <= n&&dy>=1&&dy <= m){
				mark[dx][dy] = 1;
				q.push({dx,dy});
				dis[dx][dy] = dis[t.x][t.y] + 1;
				if(dx == 1 && dy == 1){
					cout << dis[dx][dy] << endl;
					return ;
				}
			}
		}
	}
}
signed main(){
	cin >> x1 >> ye;
	cin >> x2 >> y2;
	bfs(x1,ye,x1,ye);
	bfs(x2,y2,x2,y2);
	return 0;
}

有没有大佬知道为什么wa 还有为什么我下载数据,这组数据为什么要这样输出:

输入样例3:
1 2
2 1
输出样例3:
1
1
2023/7/18 18:42
加载中...