<span>AcWing 844. 走迷宫</span>

AcWing 844. 走迷宫


#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
const int N=1e2+10;
int n,m;
int g[N][N];
int d[N][N];
PII q[N*N];
// PII Prev[N][N];
int bfs(){
    int hh=0,tt=0;
    q[0]={0,0};
    int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
    memset(d,-1,sizeof d);
    d[0][0]=0;
    while(hh<=tt){
        PII t=q[hh++];
        for(int i=0;i<4;i++){
            int x=t.first+dx[i],y=t.second+dy[i];
            if(x>=0&&x<n&&y>=0&&y<m&&g[x][y]==0&&d[x][y]==-1){
                d[x][y]=d[t.first][t.second]+1;
                // Prev[x][y]=t;
                q[++tt]={x,y};
            }
        }
    }
    // int x=n-1,y=n-1;
    // while(x||y){
    //     cout<<x<<' '<<y<<endl;
    //     PII t=Prev[x][y];
    //     x=t.first,y=t.second;
    // }
    return d[n-1][m-1];
}
int main(){
    cin>>n>>m;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>g[i][j];
    cout<<bfs()<<endl;
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:06
点赞 评论 收藏
分享
来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务