BFS 80分,#2 #5 WA了,求调

P1747 好奇怪的游戏

这是一道很水的题 代码如下: ```cpp #include<bits/stdc++.h> using namespace std; struct node{ int x,y,step; }q[10001]; int head,tail,a[101][101],ex,ey; int dd[12][2]={ {2,2},{-2,2},{2,-2},{-2,-2}, {2,1},{-2,-1},{-2,1},{2,-1}, {1,2},{-1,-2},{-1,2},{1,-2}}; void bfs(int ex,int ey){ head=tail=0; q[tail].x=1; q[tail].y=1; q[tail++].step=0; while(head!=tail){ if(q[head].x==ex && q[head].y==ey){ cout << q[head].step << endl; break; } for(int i=0;i<12;i++){ int xx=q[head].x+dd[i][0]; int yy=q[head].y+dd[i][1]; if(xx<1 || yy<1 || xx>20 || yy>20) continue; if(a[xx][yy]==0){ a[xx][yy]=1; q[tail].x=xx; q[tail].y=yy; q[tail++].step=q[head].step+1; } } head++; } } int main(){ for(int i=1;i<=2;i++){ cin >> ex >> ey; memset(a,0,sizeof(a)); bfs(ex,ey); } return 0; ```
by bbbbbbbbbb @ 2023-08-09 14:19:36


|