1 条题解
-
0
C++ :
#include<iostream> using namespace std; int n,x1,x2,y1,y2,h=0,r=1;; char a[1001][1001]; int b[1000000][4],c[1001][1001]={0}; int dx[]={0,0,1,-1},dy[]={1,-1,0,0}; void bfs(); int main() { cin>>n; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) cin>>a[i][j]; cin>>x1>>y1>>x2>>y2; bfs(); return 0; } void bfs() { int x,y; b[1][1]=x1; b[1][2]=y1; b[1][3]=0; c[x1][y1]=1; while(h<r) { ++h; for(int i=0;i<4;++i) { x=b[h][1]+dx[i]; y=b[h][2]+dy[i]; if(x>0&&x<=n&&y>0&&y<=n&&!c[x][y]&&a[x][y]=='0') { c[x][y]=1; ++r; b[r][1]=x; b[r][2]=y; b[r][3]=b[h][3]+1; } if(x==x2&&y==y2) { cout<<b[r][3]; return; } } } }
- 1
信息
- ID
- 1032
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者