1 条题解
-
0大金狮 (mengqingyu) LV 10 @ 2024-10-26 18:50:40
想要代码的来这:
col1 col2 col3 col1 col2 col3 col1 col2 col3 col1 col2 col3 #include<cstdio> #include<iostream> #include<queue> using namespace std; int a[6][6],b[6][6],c[6][6]; struct poi { int x,y,t; }; queue<poi>q; int X[4]={-1,0,1,0},Y[4]={0,1,0,-1}; void pri(int x,int y) { if(x>1||y>1) { if(b[x][y]==1)pri(x+1,y); if(b[x][y]==2)pri(x,y-1); if(b[x][y]==3)pri(x-1,y); if(b[x][y]==4)pri(x,y+1); } printf("(%d, %d)\n",x-1,y-1); } int main() { for(int i=1;i<=5;i++) { for(int j=1;j<=5;j++)scanf("%d",&a[i][j]); } //cout<<1; q.push({1,1,0}); b[1][1]=0; c[1][1]=1; while(q.empty()==false) { poi s=q.front(); q.pop(); if(s.x==5&&s.y==5)break; for(int i=0;i<=3;i++) { int nx=s.x+X[i],ny=s.y+Y[i]; if(c[nx][ny]==0&&a[nx][ny]==0&&nx>0&&nx<6&&ny>0&&ny<6) { c[nx][ny]=1; b[nx][ny]=i+1; q.push({nx,ny,s.t+1}); } } } pri(5,5); return 0; }
- 1
信息
- ID
- 3121
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 71
- 已通过
- 16
- 上传者