1 条题解

  • 0
    @ 2024-3-28 22:17:28

    #include <iostream> #include <string.h> #include <vector> #include <bits/stdc++.h> using namespace std; int n,l=0,m,ans[1000],book[200][200]={0};char b[200][200]; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; struct point { int x;int y;int step;

    }; queue<point> r; int main() { cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>b[i][j]; } } point start; start .x=1; start .y=1; start .step=1; r.push(start); book[1][1]=1; while(!r.empty()){ int x=r.front().x,y=r.front().y; if(xn&&ym){cout<<r.front().step<<endl;} for(int i=0;i<=3;i++){ int tx,ty; tx=x+dx[i]; ty=y+dy[i]; if(b[tx][ty]=='.'&&book[tx][ty]==0) {point temp; temp.x=tx; temp.y=ty; temp.step=r.front().step+1; r.push(temp); book[tx][ty]=1;

    }
       }
    r.pop();
    

    }

    return 0;
    

    }

    信息

    ID
    804
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    (无)
    递交数
    104
    已通过
    4
    上传者