社区讨论

90ptsWA on #3玄关!

P1747好奇怪的游戏参与者 2已保存回复 14

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
14 条
当前快照
1 份
快照标识符
@mhqm4gdj
此快照首次捕获于
2025/11/09 02:23
3 个月前
此快照最后确认于
2025/11/16 14:22
3 个月前
查看原帖

bfs 90pts WA on #3 玄 关 !

CPP
#include<bits/stdc++.h>
using namespace std;
int xw,yw,xb,yb,vis[50][50],f[1000][4];
int dx[12]={2, 2,-2,-2,-2,-2,-1, 1, 2, 2, 1,-1};
int dy[12]={2,-2, 2,-2,-1, 1, 2, 2, 1,-1,-2,-2};
void bfs(int x,int y){
	f[1][0]=x,f[1][1]=y,f[1][2]=0;
	int h=0,t=1;
	while(h<t){
		h++;
		for(int i=0; i<12; i++){
			int xx=f[h][0]+dx[i];
			int yy=f[h][1]+dy[i];
			if(xx>0 && yy>0 && !vis[xx][yy]){
				t++,vis[xx][yy]=1;
				f[t][0]=xx,f[t][1]=yy,f[t][2]=f[h][2]+1;
				if(xx==1 && yy==1){
					printf("%d\n",f[t][2]);
					return;
				}
			}
		}
	}
	return;
}
int main(){
	scanf("%d%d%d%d",&xw,&yw,&xb,&yb);
	bfs(xw,yw);
	memset(vis,0,sizeof(vis));
	bfs(xb,yb);
	return 0;
}

回复

14 条回复,欢迎继续交流。

正在加载回复...