1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,m; int fx[5]={0,0,1,0,-1}; int fy[5]={0,1,0,-1,0}; int tx,ty; char a[50][50]; int b[2500][4]; int head=1,tail=1; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } b[1][1]=1; b[1][2]=1; b[1][3]=1; while(head<=tail) { for(int i=1;i<=4;i++) { tx=b[head][1]+fx[i]; ty=b[head][2]+fy[i]; if(a[tx][ty]=='.') { a[tx][ty]='#'; tail++; b[tail][1]=tx; b[tail][2]=ty; b[tail][3]=b[head][3]+1; if(tx==n&&ty==m) { cout<<b[tail][3]; exit(0); } } } head++; } return 0; }
- 1
信息
- ID
- 497
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 204
- 已通过
- 57
- 上传者