Catch That Cow POJ
来源:互联网 发布:金智软件 编辑:程序博客网 时间:2024/05/18 23:54
Catch That Cow
Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 94224 Accepted: 29551
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
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.
Source
USACO 2007 Open Silver
#include <cstdio>#include <cstring>#include <iostream>#include <stack>#include <queue>using namespace std;int n,k;int book[120123],que[120123];int has(int n){ if(n<0||n>100000||book[n]) return 0; else return 1;}int BFS(){ if(n == k) return 0; int head=0,tail=1; que[head] = n; while(head<tail) { int x=que[head]; head++; if(x-1 ==k || x+1 ==k || x*2 ==k) return book[x]+1; if(has(x-1)) { book[x-1]=book[x]+1; que[tail++]=x-1; } if(has(x+1)) { book[x+1]=book[x]+1; que[tail++]=x+1; } if(has(x*2)) { book[x*2] = book[x]+1; que[tail++]=2*x; } } return -1;}int main(){ int i,j; while(cin>>n>>k) { int ans = BFS(); cout<<ans<<endl; } return 0;}
阅读全文
0 0
- Catch That Cow(POJ--
- (poj)Catch That Cow
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- 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
- 0和5
- Android控件详解之列表控件
- shopnc基础框架分析
- Android持久化技术之SQLite数据库存储(一)
- HLS协议介绍
- Catch That Cow POJ
- Linux 网卡配置 eth0
- c++中const使用的若干问题
- 决定开始啃windowsapi
- Ball类的继承
- 利用git上传本地文件、文件夹到Github
- 1967 路径定向
- 三种继承方式与三种访问权限的相互组合
- Android Service完全解析