关注
迷宫题这100通过 #include<iostream> #include<vector> #include<algorithm> #include<string> #include<queue> using namespace std; struct Point { Point(int _x, int _y) :x(_x), y(_y) {}; int x; int y; }; int main() { int N; while (cin >> N) { vector<string> Grid(N); for (int i = 0; i < N; ++i) cin >> Grid[i]; vector<vector<int>> PathLength(N, vector<int>(N, -1)); int dx[] = { 1,-1,0,0 }; int dy[] = { 0,0,1,-1 }; queue<Point> que; for(int i=0;i<N;++i) for (int j = 0; j < N; ++j) { if (Grid[i][j] == 'S') { que.push(Point(i, j)); PathLength[i][j] = 0; } } int out = -1; while (!que.empty()) { Point p = que.front(); for (int i = 0; i < 4; ++i) { int nx = (p.x + dx[i]+N) % N; int ny = (p.y + dy[i]+N) % N; if (Grid[nx][ny]=='#'||PathLength[nx][ny] != -1) continue; que.push(Point(nx, ny)); PathLength[nx][ny] = PathLength[p.x][p.y] + 1; if(Grid[nx][ny]=='E') out= PathLength[p.x][p.y] + 1; } que.pop(); } cout << out << endl; } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作,行业重要还是岗位重要? #
6452次浏览 83人参与
# 盲审过后你想做什么? #
12181次浏览 106人参与
# 五一之后,实习真的很难找吗? #
43582次浏览 310人参与
# 领导秒批的请假话术 #
9358次浏览 72人参与
# 安克创新求职进展汇总 #
32411次浏览 412人参与
# 如果不工作真的会快乐吗 #
100711次浏览 860人参与
# 每人推荐一个小而美的高薪公司 #
72773次浏览 1357人参与
# 京东工作体验 #
12919次浏览 90人参与
# 五一假期,你打算“躺”还是“卷”? #
23817次浏览 374人参与
# 考研可以缓解求职焦虑吗 #
20221次浏览 241人参与
# 如何缓解入职前的焦虑 #
171437次浏览 1267人参与
# 面试等了一周没回复,还有戏吗 #
115060次浏览 1071人参与
# 找工作前vs找工作后的心路变化 #
7066次浏览 64人参与
# 应届生薪资多少才合理? #
3012次浏览 24人参与
# 写简历别走弯路 #
713887次浏览 7848人参与
# 你喜欢工作还是上学 #
37187次浏览 407人参与
# 如果有时光机,你最想去到哪个年纪? #
43128次浏览 765人参与
# 牛友们的论文几号送审 #
27085次浏览 621人参与
# 扒一扒那些奇葩实习经历 #
41357次浏览 768人参与
# 24届的你们现状如何了? #
64434次浏览 377人参与