题解 | #寻找最后之作#

寻找最后之作

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;
}
全部评论

相关推荐

LZHR:老哥你从投递简历测评完到一面中间隔了多久呀,我这边已经过了五天了仍显示简历筛选中是不是就是挂了
腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
9757次浏览 91人参与
# 你的实习产出是真实的还是包装的? #
1768次浏览 41人参与
# MiniMax求职进展汇总 #
23869次浏览 308人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7480次浏览 43人参与
# 简历第一个项目做什么 #
31574次浏览 331人参与
# 重来一次,我还会选择这个专业吗 #
433386次浏览 3926人参与
# 巨人网络春招 #
11305次浏览 223人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187010次浏览 1122人参与
# 牛客AI文生图 #
21410次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152302次浏览 887人参与
# 研究所笔面经互助 #
118874次浏览 577人参与
# 简历中的项目经历要怎么写? #
310086次浏览 4195人参与
# AI时代,哪些岗位最容易被淘汰 #
63454次浏览 805人参与
# 面试紧张时你会有什么表现? #
30490次浏览 188人参与
# 你今年的平均薪资是多少? #
213021次浏览 1039人参与
# 你怎么看待AI面试 #
179885次浏览 1235人参与
# 高学历就一定能找到好工作吗? #
64316次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76442次浏览 374人参与
# 我的求职精神状态 #
447997次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363264次浏览 2637人参与
# 腾讯音乐求职进展汇总 #
160590次浏览 1111人参与
# 校招笔试 #
470514次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务