Catch That Cow
Time Limit: 2000MS   Memory Limit: 65536K
Total Submissions: 30924   Accepted: 9536

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 /* 功能Function Description:     POJ 3278 Catch That Cow
 2    开发环境Environment:          DEV C++ 4.9.9.1
 3    技术特点Technique:
 4    版本Version:
 5    作者Author:                    可笑痴狂
 6    日期Date:                      20120730
 7    备注Notes:                     深搜---队列
 8 */
 9 #include<iostream>
10 #include<queue>
11 #define MAX 100001
12 using namespace std;
13
14 queue<int> q;
15 bool visit[MAX];
16 int step[MAX];       //记录步数的数组不能少
17
18 bool bound(int num)
19 {
20     if(num<0||num>100000)
21         return true;
22     return false;
23 }
24
25 int BFS(int st,int end)
26 {
27     queue<int> q;
28     int t,temp;
29     q.push(st);
30     visit[st]=true;
31     while(!q.empty())
32     {
33         t=q.front();
34         q.pop();
35         for(int i=0;i<3;++i) //三个方向搜索
36         {
37             if(i==0)
38                 temp=t+1;
39             else if(i==1)
40                 temp=t-1;
41             else
42                 temp=t*2;
43             if(bound(temp))         //越界
44                 continue;
45             if(!visit[temp])
46             {
47                 step[temp]=step[t]+1;
48                 if(temp==end)
49                     return step[temp];
50                 visit[temp]=true;
51                 q.push(temp);
52             }
53         }
54     }
55 }
56
57 int main()
58 {
59     int st,end;
60     while(scanf("%d%d",&st,&end)!=EOF)
61     {
62         memset(visit,false,sizeof(visit));
63         if(st>=end)
64             cout<<st-end<<endl;
65         else
66             cout<<BFS(st,end)<<endl;
67     }
68     return 0;
69 }

POJ 3278 Catch That Cow相关推荐

  1. BFS POJ 3278 Catch That Cow

    题目传送门 1 /* 2 BFS简单题:考虑x-1,x+1,x*2三种情况,bfs队列练练手 3 */ 4 #include <cstdio> 5 #include <iostrea ...

  2. POJ 3278 Catch That Cow BFS

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 32071   Accepted: 9866 D ...

  3. POJ 3278 Catch That Cow(BFS)

    题目网址:http://poj.org/problem?id=3278 题目: Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Tot ...

  4. POJ 3278 Catch That Cow

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 35043   Accepted: 10800 ...

  5. poj 3278 catch that cow BFS(基础水)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 61826   Accepted: 19329 ...

  6. bfs+dfs分析----poj 3278 Catch That Cow

    题目详情 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 115430   Accepted:  ...

  7. poj 3278 Catch That Cow 广搜

    hdu 2717 Catch That Cow,题目链接 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...

  8. poj 3278 Catch That Cow(广搜)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 45087   Accepted: 14116 ...

  9. POJ - 3278 Catch That Cow 简单搜索

    Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...

最新文章

  1. 获取子iframe的属性
  2. 机器学习数据预处理之缺失值:特征删除
  3. nginx重新编译安装mysql_Centos 6.5编译安装Nginx+php+Mysql
  4. SQL Server 2005 数据库邮件 使用要点
  5. POJ 1679 The Unique MST(次小生成树)
  6. 2015年度最全微课堂笔记精华包
  7. winform实现Echart统计图(基于webBrowser)
  8. asp.net core 中间件详解及项目实战
  9. (Oracle)DDL及其数据泵导入导出(impdp/expdp)
  10. Windows Restart Manager 重启管理器
  11. 智慧城市特效(建筑颜色渐变、飞线、扫光、扫描、光墙、线路、水、道路线条、锥形标、漫游)three+shader
  12. 刘海屏的MacBook Pro还值得入手吗?
  13. 拓端tecdat|R语言用Backfitting MCMC抽样算法进行贝叶斯推理案例
  14. 用phpstudy安装DVWA
  15. VelocityTracker使用
  16. ps如何创造图层蒙版
  17. [Swift]注册并购买加入Apple开发者计划。提示: “你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行”...
  18. 可落地的DDD(5)-战术设计
  19. 监听电源键的单击或长按事件
  20. MATLAB仿真判断系统是否为线性时不变系统

热门文章

  1. 不借助第三方 Windows 7搞定无法删除文件
  2. Unity中GameObject API解析
  3. 【oracle笔记3】多表查询
  4. centos 修改shm
  5. 电信运营商的云机遇-【软件和信息服务】2015.01
  6. mysql数据库引擎介绍
  7. 成功之路该如何走--工作半年的思考
  8. Ubuntu快速重装软件的技巧
  9. CCNP-22 路由重发布2(BSCI)
  10. 网络常用命令收藏与整理