poj 3787 cat that cow
来源:互联网 发布:sql正则 编辑:程序博客网 时间:2024/06/12 00:22
Catch That Cow
时间限制: 4 Sec 内存限制: 66 MB提交: 22 解决: 5
[提交][状态][讨论版]
题目描述
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
样例输出
AC代码(bfs)4
#include<stdio.h>#include<string.h>typedef struct Queue {int x;int step;}Queue;Queue queue[20001];int visit[20001];void bfs(int n,int k) {int front = 0;int rear = 0;queue[n].x = n;queue[rear++].step = 0;visit[n] = 1;while(front < rear) {Queue q = queue[front++];if(q.x == k) {printf("%d\n",q.step);}if(q.x - 1 >= 0 && !visit[q.x - 1]) { visit[q.x] = 1; queue[rear].x = q.x - 1; queue[rear++].step = q.step + 1; } if(q.x <= k && !visit[q.x+1]) { visit[q.x+1] = 1; queue[rear].x = q.x + 1; queue[rear++].step = q.step + 1; } if(q.x <= k && !visit[q.x*2]) { visit[q.x*2] = 1; queue[rear].x = q.x * 2; queue[rear++].step = q.step + 1; }}}int main(void) {int n;int k;scanf("%d %d",&n,&k);memset(visit,0,sizeof(visit));bfs(n,k);return 0;}
阅读全文
0 0
- poj 3787 cat that cow
- Catch That Cow(POJ--
- (poj)Catch That Cow
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- Catch That Cow POJ
- 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
- 冒泡法思想总结,自己理解
- HDU1003
- SQL透视查询(交叉查询)PIVOT in的值过多,或不确定时的处理方案
- Java基础应用之运算符(验证登录信息的合法性)
- Android友盟统计
- poj 3787 cat that cow
- HDU1004
- 194.m1-json数据保存在本地
- Java基础应用之运算符(为新员工分配部门)
- codevs 1098 均分纸牌
- java 往frame或组件中添加监听事件无效
- HDU1005
- 淘淘商城系列——Solr的安装
- HDU1008