7.12 POJ 3278 A - 广搜 基础
2014-07-14 16:16
232 查看
A - 广搜 基础
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d
& %I64u
Submit Status Practice POJ
3278
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number
line. Farmer John has two modes of transportation: walking and teleporting.
* Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute
* Teleporting: FJ can move from any point X to the point 2 × X in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers: N and K
Output
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input
Sample Output
Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
每个节点处有三种走法:+1, -1和*2;
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d
& %I64u
Submit Status Practice POJ
3278
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number
line. Farmer John has two modes of transportation: walking and teleporting.
* Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute
* Teleporting: FJ can move from any point X to the point 2 × X in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers: N and K
Output
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input
5 17
Sample Output
4
Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
每个节点处有三种走法:+1, -1和*2;
#include<iostream> #include<queue> using namespace std; const int MAXN = 100001; bool visit[MAXN]; int step[MAXN]; queue<int> que; int bfs(int n, int k) { int head, next; que.push(n); visit = true; step == 0; while(!que.empty()) { head = que.front(); que.pop(); for(int i = 0; i < 3; i++) { if(i == 0) {next = head + 1;} else if(i == 1){next = head - 1;} else next = head * 2; if (next > MAXN || next < 0) continue; if(!visit[next]) { que.push(next); step[next] = step[head] + 1; visit[next] = true; } if(next == k) {return step[next]; } } } } int main() { int n, k; cin >> n >> k; cout << bfs(n, k) << endl; return 0; }
相关文章推荐
- 7.12 B - 广搜/深搜 基础 POJ 1979
- POJ 3278 Catch That Cow(BFS基础)
- Poj 3087 + Hdu 1312 + Hdu 1241 + Poj 3278 (基础BFS DFS)
- poj 3278 catch that cow BFS(基础水)
- POJ 3278 Catch That Cow(基础题)
- POJ 3278 基础搜索 BFS 三
- 7.12 [NWPU][2014][TRN][3]搜索 POJ 1562 H - 深搜/广搜 基础
- POJ-3278-Catch That Cow[基础BFS]
- POJ 3278 : 经典BFS
- poj 1394 算是一道比较好的题 ,基础算法加在一起就程了难题
- POJ 3278 用队列实现BFS搜索
- poj 1088 基础的DP
- POJ3278 BFS 水题
- Catch That Cow--POJ 3278
- poj3278
- POJ 3278 Catch That Cow
- poj 1273 最大流基础
- POJ1611__并查集的基础应用
- POJ_3278_Catch That Cow
- poj 3278 Catch That Cow(第一道广搜题,(*^__^*) 嘻嘻……)