3 条题解
- 
  -4
#include<bits/stdc++.h> using namespace std; bool pd; char a[101][101]; int b[101][101],k[4][2]={{1,0},{-1,0},{0,1},{0,-1}},n,m,h=1,t=1,sx,sy,ex,ey; struct que{ int x; int y; int bs; }; int main(){ struct que dl[100000]; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ cin>>a[i][j]; if(a[i][j]'S'){ sx=i; sy=j; } if(a[i][j]'T'){ ex=i; ey=j; } } //cin>>sx>>sy>>ex>>ey; b[1][1]=1; dl[t].x=sx; dl[t].y=sy; dl[t].bs=0; t++; while(h<t){ for(int i=0;i<4;i++){ int tx=dl[h].x+k[i][0],ty=dl[h].y+k[i][1]; if(tx<1||tx>n||ty<1||ty>m)continue; else if(a[tx][ty]'#'||b[tx][ty]1)continue; else{ b[tx][ty]=1; dl[t].x=tx; dl[t].y=ty; dl[t].bs=dl[h].bs+1; t++; } if(txex&&tyey){ pd=1; cout<<dl[t-1].bs; break; } }
h++; } return 0;}
 
信息
- ID
 - 430
 - 时间
 - 1000ms
 - 内存
 - 128MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 166
 - 已通过
 - 53
 - 上传者