2 条题解
-
2麦嘉峻 (maijiajun) LV 10 @ 2023-1-6 11:58:12
#include<iostream> #include<string.h> #include<queue> using namespace std; struct id { int x,y,s; }; queue<id>q; int n,m,x,y,sx,sy,ans,k; int xx[8]={-1,-1,-1,0,0,1,1,1}; int yy[8]={-1,0,1,-1,1,-1,0,1}; bool qp[110][110]; char ch; int main() { memset(qp,false,sizeof(qp)); cin>>m>>n>>x>>y; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>ch; if(ch=='.')qp[i][j]=true; } } sy=x; sx=n-y+1; q.push(id{sx,sy,0}); qp[sx][sy]=false; while(!q.empty()) { int tx=q.front().x; int ty=q.front().y; ans=q.front().s; q.pop(); for(int i=0;i<8;i++) { int nx=tx+xx[i]; int ny=ty+yy[i]; if(qp[nx][ny]) { q.push(id{nx,ny,ans+1}); qp[nx][ny]=false; } } } cout<<ans; return 0; }
-
12023-5-13 12:48:48@
#include<iostream> #include<string.h> #include<queue> using namespace std; struct id { int x,y,s; }; queue<id>q; int n,m,x,y,sx,sy,ans,k; int xx[8]={-1,-1,-1,0,0,1,1,1}; int yy[8]={-1,0,1,-1,1,-1,0,1}; bool qp[110][110]; char ch; int main() { memset(qp,false,sizeof(qp)); cin>>m>>n>>x>>y; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>ch; if(ch=='.')qp[i][j]=true; } } sy=x; sx=n-y+1; q.push(id{sx,sy,0}); qp[sx][sy]=false; while(!q.empty()) { int tx=q.front().x; int ty=q.front().y; ans=q.front().s; q.pop(); for(int i=0;i<8;i++) { int nx=tx+xx[i]; int ny=ty+yy[i]; if(qp[nx][ny]) { q.push(id{nx,ny,ans+1}); qp[nx][ny]=false; } } } cout<<ans; return 0; }
- 1
信息
- ID
- 2816
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 110
- 已通过
- 17
- 上传者