Catch That Cow POJ - 3278 [bfs][最短路]
来源:互联网 发布:哈夫曼编码c语言实现 编辑:程序博客网 时间:2024/06/07 06:57
Catch That Cow
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
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.
#include <iostream>#include <string>#include <queue>using namespace std;int v[200000]={0};queue<int> line;bool judge(int a){ //判断是否可以拓展 if (v[a] == 0 && a >= 0 && a <= 100000 ) return true; else return false;}int main() { int n,m; while ( cin >> n >> m) { int min=100000; if(n == m) { cout << '0' << endl; continue; } memset(v, 0, sizeof(v)); while ( !line.empty()) { line.pop(); } v[n] = 1; line.push(n); int time=0; int k; //拓展层数 while ( !line.empty()) { k = line.front();// cout << "k:" << k; line.pop(); if( judge(k+1) ) {line.push(k+1); v[k+1] += v[k]+1;} if( judge(k-1) ) {line.push(k-1); v[k-1] += v[k]+1;} if (judge(k*2)) {line.push(k*2); v[k*2] += v[k]+1;} } cout << v[m]-1 <<endl; }}
0 0
- Catch That Cow POJ - 3278 [bfs][最短路]
- POJ3278 Catch That Cow(最短路+bfs)
- poj 3278 -- Catch That Cow (最短路)
- poj 3278 Catch That Cow BFS
- poj 3278 Catch That Cow BFS
- POJ 3278 Catch That Cow BFS
- poj 3278 bfs(Catch That Cow)
- poj 3278 Catch That Cow(bfs)
- POJ 3278 Catch That Cow bfs
- POJ 3278 Catch That Cow 【bfs+队列】
- POJ 3278 Catch That Cow (BFS)
- POJ 3278 Catch That Cow(BFS)
- poj 3278 Catch That Cow bfs
- poj 3278 Catch That Cow (BFS剪枝)
- POJ 3278 Catch That Cow[BFS]
- Poj 3278 Catch That Cow 裸bfs
- POJ 3278 Catch That Cow(图论:BFS)
- POJ 3278 Catch That Cow (BFS)
- arm板裸机编程之led
- Azkaban工作流调度器
- iOS中UITableView的编辑状态多选
- 548UVa树
- WPF入门笔记(一) 之XAML初步
- Catch That Cow POJ - 3278 [bfs][最短路]
- iTop4412 3.0.15内核移植到linux4.4.34(一)
- linux下将不同线程绑定到不同core和cpu上 pthread_setaffinity_np
- 002_java中的数组复制(clone与arraycopy)
- 多重背包模板--二进制优化模板&&单调队列优化模板
- android memory
- NUCLEO-F042K6驱动的彩色灯环(WS2812)
- 三星公布Note7燃损原因 不惜成本历经数月调查揪出电池“元凶”
- 申请x509格式证书的步骤