poj3278 【BFS】

Catch That Cow
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 97240 Accepted: 30519

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 - 1 or + 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.
思路:bfs入门题,用到一些剪枝,之前没怎么用bfs不是很熟练,看了些其他大佬的代码,每个点都有三种情况,将三种情况入队,然后标记这个点已经访问,最后最先达到k点的必为最短。直接输出就行了
实现代码:
//#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#include<queue>
#include<stack>
#include<set>
#include<list>
using namespace std;
#define me0(x) memset(x,0,sizeof(x))
#define pb(x) push_back(x)
#define ll long long
const int Mod = 1e9+7;
const int inf = 1e9;
const int Max = 2e5+10;
vector<int>vt[Max];
queue<int>q;
int dx[] = {-1, 1,  0, 0};
int dy[] = { 0, 0, -1, 1};
//void exgcd(ll a,ll b,ll& d,ll& x,ll& y){if(!b){d=a;x=1;y=0;}else{exgcd(b,a%b,d,y,x);y-=x*(a/b);}}
//ll inv(ll a,ll n){ll d, x, y;exgcd(a,n,d,x,y);return (x+n)%n;}  ��Ԫ
//int gcd(int a,int b)  {  return (b>0)?gcd(b,a%b):a;  }  ��С��Լ
//int lcm(int a, int b)  {  return a*b/gcd(a, b);   }    ������
int cnt[Max];
bool vis[Max];void bfs(int l,int r)
{q.push(l);vis[l] = 1;cnt[l] = 0;while(!q.empty()){int x = q.front();q.pop();if(x==r){cout<<cnt[r]<<endl;break;}if(x-1>=0&&!vis[x-1]){vis[x-1] = 1;q.push(x-1);cnt[x-1] = cnt[x] + 1;}if(x<=r&&!vis[x+1]){vis[x+1] = 1;q.push(x+1);cnt[x+1] = cnt[x] + 1;}if(x<=r&&!vis[x*2]){vis[x*2] = 1;q.push(x*2);cnt[x*2] = cnt[x] + 1;}}
}int main()
{int n,m;cin>>n>>m;me0(vis);bfs(n,m);return 0;
}

 

转载于:https://www.cnblogs.com/kls123/p/7411050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单高级

● 表单高级 ○ 表单字段集<fieldset></fieldset> ■ 功能&#xff1a;相当于一个方框&#xff0c;在字段集中可以包含文本和其他元素。该元素用于对表单中的元素进行分组并在文档中区别标出文本。fieldset元素可以嵌套&#xff0c;在其内部可以在设置多个fieldset…

CMOS图像传感器——TDI CIS

一、面阵与线阵图像传感器 人们在日常生活中见到的相机大多基于普通的面阵图像传感器,这种相机多用来拍摄静止的物体。即使用它们來拍摄运动的物体,也仅仅是缩短了相邻两次拍摄的时间间隔,无需对所拍摄图像进行额外操作,对物体的运动方向和速度也没有限定条件。 除此之外,…

gpio_request 原形代码

其原型为 int gpio_request(unsigned gpio, const char *label) 先说说其参数&#xff0c;gpio则为你要申请的哪一个管脚&#xff0c;label则是为其取一个名字。其具体实现如下&#xff1a; [cpp] view plaincopyprint?int gpio_request(unsigned gpio, const char *label) …

【noip模拟】德充符

时间限制&#xff1a;2s 内存限制&#xff1a;512MB 【题目描述】 申徒嘉和郑子产都是伯昏无人的学生&#xff0c;子产因为申徒嘉是残疾人&#xff0c;非常看不起他&#xff0c;于是想要刁难他。 子产给了申徒嘉 n个数 a1,a2...an。 现在他要求申徒嘉重新排列这些数&#xff0c…

做好数据挖掘模型的9条经验总结

爱数据学习社 welcome数据挖掘是利用业务知识从数据中发现和解释知识(或称为模式)的过程&#xff0c;这种知识是以自然或者人工形式创造的新知识。当前的数据挖掘形式&#xff0c;是在20世纪90年代实践领域诞生的&#xff0c;是在集成数据挖掘算法平台发展的支撑下适合商业分析…

json及JavaBean转json

先来看看JSON&#xff1a; 什么是JSON&#xff1a; JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 JSON是用字符串来表示Javascript对象&#xff0c;例如可以在Servlet中发送一个JSON格式的字符串给客户端Javascript&#xff0c;Javascript可以执行这个字符串…

数字后端——低功耗设计物理实施

一、低功耗设计方案综述 为了实现集成电路的低功耗设计目标&#xff0c;我们需要在系统设计阶段就采用低功耗设计方案&#xff0c;因为随着设计流程的逐步推进&#xff0c;到了芯片设计实现阶段&#xff0c;降低芯片功耗的方法将越来越少&#xff0c;可节省功耗的百分比将不断下…

Eclipse里修改SVN的用户名和密码

删除Eclipse subclipse plugin中记住的SVN用户名密码&#xff1a; 1&#xff09; 查看你的Eclipse中使用的是什么SVN Interface windows > preference > Team > SVN #SVN Interface 2.&#xff09;如果是用的JavaHL, 找到以下目录并删除auth目录. 删除C:\Users\…

Omap3530 的GPIO中断设置

Omap3530 的GPIO中断设置&#xff1a; 1.配置成GPIO&#xff0c;申请GPIO中断 omap_cfg_reg(OMAP3_KBD_GPIO);配置成gpio if (gpio_request(OMAP3_KBD_GPIO, "kbd7279 IRQ") < 0) printk(KERN_ERR "Failed to request GPIO%d for kbd IRQ/n");//申请GPI…

H5项目开发分享——用Canvas合成文字

以前曾用Canvas合成、裁剪、图片等《用H5中的Canvas等技术制作海报》。这次用Canvas来画文字。 下图中“老王考到驾照后”这几个字是画在Canvas上的&#xff0c;与在PS中打入的字非常接近&#xff0c;毫无违和感。 前面一段时间也在研读JavaScript设计模式相关的知识&#xff0…

SQLServer约束介绍

约束定义 对于数据库来说&#xff0c;基本表的完整性约束分为列级约束条件和表级约束条件&#xff1a; 列级约束条件 列级约束条件是对某一个特定列的约束&#xff0c;包含在列定义中&#xff0c;可以直接跟在该列的其他定义之后&#xff0c;用空格分隔&#xff0c;不用指定列名…

CMOS图像传感器——SNR计算

图像质量评价在计算机视觉,人工智能,高清视频传输上面有很广泛的应用。目前,图像质量评价主要分为三个方向,有参考图像的质量评价,半参考的图像质量评价,以及无参考的图像质量评价。许多时候,我们利用CIS采集的RAW DATA本身就是含噪信号,因为我们往往不知道感兴趣的像素…

Java this 关键字的用法

this 关键字的用法 this 在类中就是代表当前对象&#xff0c;可以通过 this 关键字完成当前 对象的成员属性、成员方法和构造方法的调用。 那么何时用 this? 当在定义类中的方法时&#xff0c;如果需要调用该类对象&#xff0c;就可以用 this 来表示这个对象。也就是说&#x…

TMDS——最小化传输差分信号及其协议

过渡调制差分信号&#xff0c;也被称为最小化传输差分信号&#xff0c;是指通过异或及异或非等逻辑算法将原始信号数据转换成10位&#xff0c;前8为数据由原始信号经运算后获得&#xff0c;第9位指示运算的方式&#xff0c;第10位用来对应直流平衡&#xff08;DC-balanced&…

顺大势逆小势策略之代码实现及可行性分析

阅读原文&#xff1a;quant.la/Article/Vie… 前言 资产配置多元化是投资的唯一免费午餐 —— 马克维茨。 在市场中有两种策略&#xff1a;趋势策略和震荡策略。趋势追踪策略的特点在大行情的波动段找到有效的交易信号。而震荡策略则是一种反趋势策略&#xff0c;一波大幅上涨后…

数字图像处理——中值滤波及其改进算法

一、算法介绍 中值滤波器是非线性滤波器的一个例子&#xff0c;它在保留图像特征方面非常有效。 但是&#xff0c;滤波器的窗口大小直接影响中值滤波器的性能。 较小的窗口保留了特征&#xff0c;但会导致噪声抑制的减少。 在较大窗口的情况下&#xff0c;噪声抑制很高&#xf…

Spring整合web开发

正常整合Servlet和Spring没有问题的 public class UserServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ApplicationContext applicationContext new ClassPathXmlApplica…

环信快速集成,以及实际集成中遇到的坑

一.pod集成遇到的问题 1.直接pod 安装 pod EaseUI, :git > https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git 在这个过程中&#xff0c;如果你pod已经安装了sdwebimage&#xff0c;mjrefresh等他自身包含的三方&#xff0c;就需要在你的podfile里面把这个给删…

PAFF 和MBAFF

PAFF 和MBAFF&#xff1a;当对隔行扫描图像进行编码时&#xff0c;每帧包括两个场&#xff0c;由于两个场之间存在较大的扫描间隔&#xff0c;这样&#xff0c;对运动图像来说&#xff0c;帧中相邻两行之间的空间相关性相对于逐行扫描时就会减小&#xff0c;因此这时对两个场分…

Test435678

2345鱼57洋炮456789转载于:https://www.cnblogs.com/rhxuza1993/p/9534938.html