HDOJ1548(BFS)
来源:互联网 发布:安全狗防sql注入原理 编辑:程序博客网 时间:2024/05/19 17:51
大意:n层楼,坐电梯从a层到b层。第i层有一个数Ki,可以上到i+Ki层,可以下到i-K层。求最少几次能从a到b层。
分析:BFS水题。
代码:
#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;int n, a, b;int k[205];int e[205];queue<int>q;int bfs(int x, int y){memset(e, 0, sizeof(e));while (!q.empty())q.pop();int sum = 0;q.push(x);e[x] = 1;while (!q.empty()) {if (q.front() == y)return e[y]-1;int m = k[q.front()] + q.front();if (m > 0 && m <= n&&!e[m]){q.push(m);e[m] = e[q.front()]+1;}int t = q.front() - k[q.front()];if (t > 0 && t <= n&&!e[t]){q.push(t);e[t] = e[q.front()] + 1;}q.pop();}return -1;}int main(){while (scanf("%d", &n) != EOF&&n){scanf("%d%d", &a, &b);for (int i = 1; i <= n; i++)scanf("%d", &k[i]);printf("%d\n", bfs(a, b));}return 0;}
0 0
- HDOJ1548(BFS)
- hdoj1548
- 最短路HDOJ1548
- BFS
- bfs
- BFS
- BFS
- bfs
- BFS
- bfs
- BFS
- BFS
- bfs
- BFS
- BFS
- BFS
- BFS
- BFS
- HDOJ4431Mahjong 模拟
- New Born
- 第三方SDK:ShareSDK 快捷分享 + 登陆
- android开发笔记之adb命令详解
- 提升tomcat服务器性能的七条经验
- HDOJ1548(BFS)
- iOS uiwebview load request 出错
- 常用设计模式学习
- ARCGIS接口详细说明
- POJ2586(贪心)
- shader学习(二)
- CSS盒模型
- JavaScript基础——使用Canvas画图
- 《信息安全原理》复习笔记