题解 | #寻找最后之作#

寻找最后之作

https://ac.nowcoder.com/acm/problem/21444

缠斗了一个小时 发现是getchar问题 吐血 下午去查查getchar用法 https://www.runoob.com/cprogramming/c-function-getchar.html 牛啊

#include<iostream>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct Point{
    int src,des,step;
    //Point();
    Point(int _src,int _des,int _step){
        src=_src;
        des=_des;
        step=_step;
    }
};
//bool p[105];
char a[105][105];
bool used[105][105];
int ax,ay,lx,ly,ans;
int x[10]={-1,1,0,0,-1,1,-1,1};
int y[10]={0,0,-1,1,-1,-1,1,1};
//int fa[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,-1},{-1,1}};
queue<Point> q;
void bfs(){
    memset(used,0,sizeof(used));
//         Point c,b;
//         c.src=ax;
//         c.des=ay;
//         c.step=0;
        //q.push(c);
        q.push(Point(ax,ay,0));
        used[ax][ay]=1;
        while(!q.empty()){
            Point p = q.front();
            q.pop();
            int px = p.src,py=p.des,step=p.step+1;
            if(px==lx&&py==ly) ans =p.step;
            for(int i =0;i<8;i++){
                int newx=px+x[i],newy=py+y[i];
                if(a[newx][newy]!='#'&&newx>=1&&newx<=m&&newy>=1&&newy<=n
                   &&!used[newx][newy])
                {
//                     c.src=newx;
//                     c.des=newy;
//                     c.step=step;
//                     q.push(c);
                    q.push(Point(newx,newy,step));
                    used[newx][newy]=1;
                }
            }
        }
        if(used[lx][ly]) cout<<ans<<endl;
        else cout<<"I Need Move Point\n";
        return;
}

int main(){
    int t;
    cin >>t;
    while(t--){
        cin >>m>>n;
        getchar();
        for(int i =1;i<=m;i++){
            for(int j =1;j<=n;j++){
                cin >> a[i][j];
                if(a[i][j]=='A'){
                    ax=i,ay=j;
                }
                else if(a[i][j]=='L')
                {
                    lx=i,ly=j;
                }
            }
            getchar();
        }
        bfs();
    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
面试尴尬现场
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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