poj 3278Catch That Cow(hd2717)
2015-08-06 16:11
190 查看
Catch That Cow
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
Sample Output
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.
嗯,题目大一就是说,给n和k,n代表人所在位置,k代表cow 所在位置,人要抓住牛,但人只能一次只能走到n-1或n+1或2*n位置,每走一次花费一分钟,问最快多久能抓到牛。开始写的时候老wa后来看讨论区特殊测试数据2 2和0 10000和10000 0 最后一个不出结果,改一下才过
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 61286 | Accepted: 19141 |
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.
嗯,题目大一就是说,给n和k,n代表人所在位置,k代表cow 所在位置,人要抓住牛,但人只能一次只能走到n-1或n+1或2*n位置,每走一次花费一分钟,问最快多久能抓到牛。开始写的时候老wa后来看讨论区特殊测试数据2 2和0 10000和10000 0 最后一个不出结果,改一下才过
#include<cstdio> #include<cstring> #include<queue> using namespace std; int mark[100010]; int step[100010]; void bfs(int s,int e) { int ss,nn; mark[s]=1; step[s]=0; queue<int>q; q.push(s); while(!q.empty()) { ss=q.front(); q.pop(); if(ss==e) { printf("%d\n",step[ss]); return ; } nn=ss+1; if(nn<=100001&&!mark[nn])//就是每次这里比较的时候开始写的nn<=e { mark[nn]=1; step[nn]=step[ss]+1; q.push(nn); } nn=ss-1; if(nn>=0&&nn<=100001&&!mark[nn]) { mark[nn]=1; step[nn]=step[ss]+1; q.push(nn); } nn=ss*2; if(nn<=100001&&!mark[nn]) { mark[nn]=1; step[nn]=step[ss]+1; q.push(nn); } } } int main() { int n,k; while(~scanf("%d%d",&n,&k)) { memset(mark,0,sizeof(mark)); memset(step,0,sizeof(step)); bfs(n,k); } return 0; }
相关文章推荐
- layout_gravity不起作用的原因分析
- HTTP与HTTPS的区别
- hello World
- oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败
- CSS3选择器
- 利用JAVA反射机制实现调用私有方法
- hdoj---Rescue
- HTML5应用localStorage保存数据
- Android开发IM中的消息Notification的一个小小使用.
- MySql连接10060问题教训
- mysql 字段类型VARCHAR转换成DECIMAL
- elk 日志分析系统
- 生成 温度-AD 对照表
- IP地址CString和DWORD转换
- 线程安全与并发编程探究(七)--volatile java内存模型及线程知识小结
- 《鸟哥的Linux私房菜》学习Shell部分(2)
- ant 基础
- 【连载】实用小demo连载 3 —— js 时间转换 demo
- 使用excel进行数据挖掘(7)---- 从示例填充数据
- SIOCADDRT: No such process