关注
迷宫题这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; } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
128020次浏览 2149人参与
# 找不到实习会影响秋招吗 #
1398689次浏览 13625人参与
# 实习没事做是福还是祸? #
843次浏览 14人参与
# 实习简历求拷打 #
20175次浏览 225人参与
# 一人说一个提前实习的好处 #
208次浏览 5人参与
# 哪些公司笔/面试难度大? #
6941次浏览 31人参与
# 携程工作体验 #
18720次浏览 66人参与
# 考研人,我有话说 #
156299次浏览 1209人参与
# 投格力的你,拿到offer了吗? #
154188次浏览 829人参与
# 秋招遇到的奇葩面试题 #
101127次浏览 416人参与
# 作业帮求职进展汇总 #
84786次浏览 558人参与
# 秋招被挂春招仍然能投的公司 #
8577次浏览 110人参与
# 简历当中有水分算不算造假? #
154136次浏览 2250人参与
# mt对你说过最有启发的一句话 #
40948次浏览 466人参与
# 秋招被确诊为…… #
277049次浏览 1583人参与
# 国庆前的秋招小结 #
265701次浏览 1718人参与
# 什么是优秀的实习经历 #
10648次浏览 236人参与
# 选实习,你更看重哪方面? #
16254次浏览 270人参与
# 你收到了团子的OC了吗 #
1483606次浏览 11811人参与
# 摸鱼被leader发现了怎么办 #
106476次浏览 674人参与