poj 3278 Catch That Cow
来源:互联网 发布:查看mac激活时间 编辑:程序博客网 时间:2024/04/27 22:02
Catch That Cow
Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 60418 Accepted: 18842
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN (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 orX+ 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 andK
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
#include <iostream>#include <cstring>#include <queue>#include <cstdio>using namespace std;struct node{ int step; int num;} b,c;int n,k;bool vis[100001*2];int BFS(){ memset(vis,false,sizeof(vis)); b.step = n; b.num = 0; vis[n] = true; queue<node >q; q.push(b); while(!q.empty()) { b = q.front(); q.pop(); if(b.step == k) return b.num; if(b.step + 1 <= k && !vis[b.step+1]) { c.step = b.step+1; c.num = b.num+1; vis[c.step] = true; q.push(c); } if(b.step - 1 >= 0 && !vis[b.step-1]) { c.step = b.step-1; c.num = b.num+1; vis[c.step] = true; q.push(c); } if(b.step <<1 <= k<<1 && !vis[b.step<<1]) { c.step = b.step<<1; c.num = b.num+1; vis[c.step] = true; q.push(c); } }}int main(){ while(cin>>n>>k) cout<<BFS()<<endl; return 0;}
0 0
- poj 3278 Catch That Cow
- POJ 3278 Catch That Cow
- poj 3278 catch that cow
- poj 3278 Catch That Cow
- POJ 3278 Catch That Cow
- Poj 3278 Catch That Cow
- POJ 3278 Catch That Cow
- POJ 3278 Catch That Cow
- POJ 3278 Catch That Cow
- poj 3278 Catch That Cow
- POJ 3278 Catch That Cow
- poj 3278 Catch That Cow
- poj 3278 Catch That Cow
- POJ 3278 Catch That Cow
- POJ 3278 - Catch That Cow
- POJ 3278 Catch That Cow
- POJ 3278 Catch That Cow
- POJ-3278-Catch That Cow
- C/C++中的void 和 void *
- Birt 报表参数的使用
- 数据结构之循环链表
- PHP获取MAC地址
- 南阳oj 语言入门 精挑细选 题目 263
- poj 3278 Catch That Cow
- C语言的魅力与瑕疵
- draw something in Java DEMO
- 高精度问题之大数求幂
- xcode 代码对齐插件-XAlign
- String.valueOf() toString() i+"" 效率
- js 倒计时
- 2440 点亮灯的小终结
- 从本地打开摄像头,并读取存储当前图片