社区讨论
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 条回复,欢迎继续交流。
正在加载回复...