poj 3278 Catch That Cow
来源:互联网 发布:如何撤销淘宝退款申请 编辑:程序博客网 时间:2024/06/10 15:15
Catch That Cow
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 74854 Accepted: 23630
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
【分析】
最近迷之懒惰,不想更博,然而考虑到老师可能会查我水表,还是先写上两篇。
题意:男主起初在n点,每步可以走前一个位置,后一个位置,或者二倍的位置,问最少几步能到达指定点。
那就宽搜一下出解(标记过的点就不走了,别人说要剪枝什么的其实不用),复杂度 O(n)
see you
【代码】
//poj 3278 Catch That Cow#include<iostream>#include<cstdio>#include<cstring>#define fo(i,j,k) for(i=j;i<=k;i++)#define M(a) memset(a,0,sizeof a)using namespace std;int n,m;int q[200001],map[200001];bool vis[200001];int main(){ int i,j,k,u,v; scanf("%d%d",&n,&m); if(n>m) printf("%d\n",n-m); int h=0,t=1; q[t]=n; vis[n]=1; while(h<t) { h++; u=q[h]; v=u-1; if(v>=0 && v<=m+5 && !vis[v]) { vis[v]=1; q[++t]=v; map[v]=map[u]+1; } v=u+1; if(v>=0 && v<=m+5 && !vis[v]) { vis[v]=1; q[++t]=v; map[v]=map[u]+1; } v=u+u; if(v>=0 && v<=m+5 && !vis[v]) { vis[v]=1; q[++t]=v; map[v]=map[u]+1; } if(vis[m]) {printf("%d\n",map[m]);return 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
- Js事件详解(1)事件类型及几种添加事件处理程序的方法
- 10款Web程序员必备的CSS工具
- Android studio运行时报错finished with non-zero exit value 1
- Java:温度转换
- HttpMessageConverter和@ResponseBody
- poj 3278 Catch That Cow
- java 日期格式化
- LoRa传输距离、工作电流、节点容量等
- ThinkPHP 当前栏目高亮的方法
- RBM(受限玻尔兹曼机)
- 数据结构实验之栈四:括号匹配
- Java集合---HashMap源码剖析
- nyoj42 一笔画问题 搜索+欧拉图
- hdu1247 Hat's words trie树