简单搜索--BFS--Catch That Cow
简单搜索–BFS–Catch That Cow
Description
农夫约翰已被告知一头逃亡牛的下落,并希望立即抓住她。他从某一时刻开始N(0≤)N(≤100,000)在一个数字线上,母牛在一个点上K(0≤)K(≤100,000)在相同的数字线上。农民约翰有两种运输方式:步行和传送。
*步行:可以从任何地方移动X各点X -1或X 一分钟内+1
*传送:可以从任何地方移动X点2×X一分钟之内。
如果母牛没有意识到它的追求,根本不动,农场主约翰需要多长时间才能找回它?
Input
第1行:两个空格分隔的整数:N和K
Output
第1行:最短的时间,在几分钟内,农夫约翰就能抓住逃亡的母牛。
Sample Input
5 17
Sample Output
4
简单的bfs问题,每次进队列列好每一种情况,再进队,传递好时间,就OK
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <math.h>
#include <string.h>
#include <string>
#include <stack>
#include <queue>
#include <map>using namespace std;
const int inf=0x3f3f3f3f;
const int MAX=100000+5;
int vla[MAX];
int N,K;int bfs()
{queue <int> q;q.push(N);while(!q.empty()){int a=q.front();q.pop();int b=a-1;int c=a+1;int d=a*2;if(b>0&&b<MAX&&!vla[b]) vla[b]=vla[a]+1,q.push(b);if(c<=MAX&&!vla[c]) vla[c]=vla[a]+1,q.push(c);if(d<=MAX&&!vla[d]) vla[d]=vla[a]+1,q.push(d);if( b==K || c==K || d==K ) return 0;}
}
int main()
{while(cin>>N>>K){memset(vla,0,sizeof(vla));if(N>=K){cout<<N-K<<endl;continue;}bfs();cout<<vla[K]<<endl;}return 0;
}
简单搜索--BFS--Catch That Cow相关推荐
- c语言编辑87152,POJ 3287 (基础BFS) Catch That Cow
这是做的第一道BFS,很基础很简单的题目 广度优先搜索算法如下:(用QUEUE) (1) 把初始节点S0放入Open表中: (2) 如果Open表为空,则问题无解,失败 退出: (3) 把Open表的 ...
- [VJ][bfs]Catch That Cow
Catch That Cow Description Farmer John has been informed of the location of a fugitive cow and wants ...
- SDUT-团战可以输、提莫必须死(简单搜索bfs)
题目描述 为了一些你们不知道的原因,我们把LOL的地图抽象为一个n×m的矩阵 提莫积攒了k个蘑菇准备种到地图上去,因为提莫的背篓漏了,所以每一个提莫走过的地方都会被摆下一个蘑菇,两个蘑菇同时种在一个地 ...
- Catch That Cow抓住那只奶牛(BFS,广度优先搜索)
# **Catch That Cow(抓住那只奶牛)** [题意]:农场主要去追一直逃跑的牛,每次移动有三种选择,位置加一,位置减一,位置乘二,要找到最快的方法让农夫追到牛(也就是移动的次数最少,这个 ...
- 【搜索入门专题1】hdu2717 H - Catch That Cow 【BFS】
Catch That Cow Problem Description Farmer John has been informed of the location of a fugitive cow a ...
- POJ 3278 Catch That Cow(BFS)
题目网址:http://poj.org/problem?id=3278 题目: Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Tot ...
- bfs+dfs分析----poj 3278 Catch That Cow
题目详情 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 115430 Accepted: ...
- POJ3278 HDU2717 Catch That Cow【BFS】
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 100475 Accepted: 31438 ...
- BFS POJ 3278 Catch That Cow
题目传送门 1 /* 2 BFS简单题:考虑x-1,x+1,x*2三种情况,bfs队列练练手 3 */ 4 #include <cstdio> 5 #include <iostrea ...
最新文章
- Linux下epoll如何实现高效处理百万句柄的
- vue学习:v-on
- Java菜鸟教程math类_Java Number Math 类
- linux中shell变量$#,$@,$0,$1,$2的含义解释:
- 今天闲来无事,做了个简易的ORM 感觉有点像ActiveRecord作业风格,又有点像iBatis...
- 大话程序猿眼里的高并发架构
- [Bzoj1009][HNOI2008]GT考试(动态规划)
- 计算机病毒和恶意软件管理制度,白城师范学院计算机病毒防治管理制度
- Android网络请求三篇
- linux 下安装redis并设置开机自启动
- 微信App iOS客户端不同阶段的发展策略
- Ubuntu安装jdk-8u201-linux-x64.tar.gz
- android日历控件!我把所有Android第三方库整理成了PDF,已开源
- 无线安全渗透测试套件WiFi-Pumpkin新版本发布
- golang 内存管理
- 773-780---DOM事件高级(常用鼠标事件,案例:跟随鼠标的天使,常用的键盘事件,案例:模拟京东按键输入内容,案例:模拟京东快递单号查询)
- 网络基础:(二)路由选择基础与静态路由
- 基于微博评论的细粒度的虚假信息识别软件
- 深入分析:Onliner SpamBot7.11亿电邮账号泄露事件
- 腾讯云从业者认证报名官网地址