Catch That Cow
来源:互联网 发布:狗爹怎么解析域名 编辑:程序博客网 时间:2024/06/14 15:03
Catch That Cow
Time Limit: 2000MS Memory limit: 65536K
题目描述
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?
输入
Line 1: Two space-separated integers: N and K
输出
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
示例输入
5 17
示例输出
4
提示
//本题的意思大概是:FJ在N,奶牛在K,可以通过三种方法抓到奶牛。1.到现在位置的2倍的位置2.到现在位置的下一个位置3.到现在位置的前一个位置。使用方法BFS来做。
#include<bits/stdc++.h>#include<queue>using namespace std;int n;int k;const int N=1000000;int vis[N+10];struct node{ int x,step;};int check(int x){ if(x<0||x>=N||vis[x]) return 0; else return 1;}int BFS(int x){ queue<node>q; struct node a,next; a.x=x; a.step=0; vis[x]=1; q.push(a); while(!q.empty()) { a=q.front(); q.pop(); if(a.x==k) return a.step; next.x=a.x+1; if(check(next.x)) { next.step=a.step+1; //操作的次数 vis[next.x]=1; q.push(next); } next.x=a.x-1; if(check(next.x)) { next.step=a.step+1; vis[next.x]=1; q.push(next); } next.x=a.x*2; if(check(next.x)) { next.step=a.step+1; vis[next.x]=1; q.push(next); } } return -1;}int main(){ int o; while(~scanf("%d%d",&n,&k)) { memset(vis,0,sizeof(vis)); o=BFS(n); printf("%d\n",o); } return 0;}
0 0
- POJ3278 Catch That Cow
- Catch That Cow
- Catch That Cow
- poj3278 Catch That Cow
- 3278. Catch That Cow
- 【HDU2717】-Catch that cow
- Catch That Cow
- F - Catch That Cow
- poj3278 - Catch That Cow
- HDOJ Catch That Cow
- 2717Catch That Cow
- POJ3278 Catch That Cow
- 3278Catch That Cow
- Catch That Cow(bfs)
- Catch that cow (H2717)
- POJ3278--Catch That Cow
- Catch That Cow
- Catch That Cow+BFS
- Unity3D各平台Application.xxxPath的路径
- SDUT(3377)数据结构实验之查找五:平方之哈希表
- UNIX编程初遇问题ourhdr.h文件
- 生产者消费者Java实现
- servlet开发细节
- Catch That Cow
- hive表属性操作
- Netty In Action中文版
- rabbitMq集成Spring后,消费者设置手动ack,并且在业务上控制是否ack
- 《Thinking in Java》十七章_容器深入研究_练习12(Page484)
- 谷歌学术无法找到的东西用下面的链接
- #2016多校训练Contest10: 1002 Hard problem hdu5858
- ImageMagick使用小节
- ServletContext简介