poj3278-Catch That Cow
来源:互联网 发布:淘宝助手是什么 编辑:程序博客网 时间:2024/06/05 08:04
Problem 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.
Example Input
5 17
Example 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.
#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cstring>using namespace std;int book[1000005];int n,k;bool judge(int x){ if(x<0||x>=1000000||book[x]) return 0; return 1;}struct node{ int step; int point;}t,v;void bfs(int n){ queue<node>q; t.point=n; t.step=0; q.push(t); book[n]=1; while(!q.empty()) { v=q.front(); q.pop(); if(v.point==k) { cout<<v.step<<endl; return ; } t=v; t.point=v.point+1; if(judge(t.point)) { t.step=v.step+1; book[t.point]=1; q.push(t); } t.point=v.point-1; if(judge(t.point)) { t.step=v.step+1; book[t.point]=1; q.push(t); } t.point=v.point*2; if(judge(t.point)) { t.step=v.step+1; book[t.point]=1; q.push(t); } }}int main(int argc, char const *argv[]){ scanf("%d%d",&n,&k); bfs(n); return 0;}
- POJ3278 Catch That Cow
- poj3278 Catch That Cow
- poj3278 - Catch That Cow
- POJ3278 Catch That Cow
- POJ3278--Catch That Cow
- POJ3278 Catch That Cow
- poj3278 Catch That Cow
- poj3278 Catch That Cow
- poj3278--Catch That Cow
- POJ3278 Catch That Cow
- poj3278 Catch That Cow
- POJ3278,Catch That Cow
- poj3278--Catch That Cow
- POJ3278---Catch That Cow
- poj3278 Catch That Cow
- poj3278 catch that cow
- Catch That Cow poj3278
- Catch That Cow--poj3278
- j2ee的web项目,在浏览器中发起一个该项目中html页面的绝对地址,也是发起的一个http url请求,请求的响应报文的结果就是该html页面的所有html代码
- 变长参数函数(转载)
- IPtables学习笔记四
- 常用概念之程序局部性原理
- 嵌入式系统原理及应用教程期末复习
- poj3278-Catch That Cow
- ssh 公钥私钥认证原理
- 触发器
- 802.11n协议帧格式详解
- 兼容性测试实习
- 人工智能课实践-一字棋问题
- 将十进制数字转换为二进制
- 四、4、数组方法
- 八大算法思想(二)------------------递推算法