3060 抓住那头奶牛

USACO

 时间限制: 1 s
 空间限制: 16000 KB
 题目等级 : 黄金 Gold
 
题目描述 Description

农夫约翰被告知一头逃跑奶牛的位置,想要立即抓住它,他开始在数轴的N 点(0≤N≤100000),奶牛在同一个数轴的K 点(0≤K≤100000)。

约翰有两种移动方式:1 分钟内从x 点移动到x+1 或x-1;1 分钟内从x 点移动到2x。假设奶牛不会移动,约翰抓住它需要多少时间?

输入描述 Input Description

一行两个整数N 和K,用空格隔开。

输出描述 Output Description

约翰抓住它需要的最少时间

样例输入 Sample Input

5 17

样例输出 Sample Output

4

数据范围及提示 Data Size & Hint

见题目

分类标签 Tags 点此展开

 
 
这道题的难点是你需要处理三种方向。我是直接进行枚举的
 
如下:
 
 #include<cstdio>
#include<queue>
#define maxn 100001 using namespace std; int n,k;
bool v[maxn]; struct node
{
int pos,step;
}cur,nxt; queue<node>q;//该队列是为了储存结构体中的pos,以及step void Q_work()
{
cur.pos=n;
cur.step=;//进行初始化
q.push(cur);
v[n]=true;
if(n==k) //特判如果起点与重点是重合的
{
printf("");
return;
}
while(!q.empty())
{
cur=q.front();
q.pop();//取出队头元素,将其出队
nxt.step=cur.step+;//下一步一定是为当前的步数+1
for(int i=;i<=;i++)
{
switch(i)//枚举行走的三种情况
{
case : nxt.pos=cur.pos+; break;
case : nxt.pos=cur.pos-; break;
case : nxt.pos=cur.pos*; break;
}
if(nxt.pos>=&&nxt.pos<=&&!v[nxt.pos])
{//必须不超过边界并且当前并未走过
if(nxt.pos==k)
{
printf("%d",nxt.step);//如果==k则说明已经到达,则进行输出
return;
}
q.push(nxt);//将其入队
v[nxt.pos]=true;//并进行标记
}
}
}
} int main()
{
scanf("%d%d",&n,&k);
Q_work();
return ;
}

最新文章

  1. 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 2
  2. Django Admin 录入中文错误解决办法
  3. ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)
  4. jquery中CheckBox的checked状态用attr()的问题
  5. 多边形裁剪的Sutherland-Hodgman算法
  6. Mono.Android 基础
  7. 设定自动获得DNS服务器地址
  8. 安卓第九天笔记-Activity
  9. java读取文件夹下所有文件并替换文件每一行中指定的字符串
  10. 洛谷P2725 邮票 Stamps
  11. jQuery对象与DOM对象
  12. android初学-togglebutton
  13. 2015北京网络赛 A题 The Cats&#39; Feeding Spots 暴力
  14. 树形dp练习
  15. SVN管理工具Cornerstone之:创建分支、提交合并
  16. thinkPHP 模板中的语法知识 详细介绍(十二)
  17. Android Spinner值不显示,选择列表正常
  18. 模块(module)
  19. Shell + crontab 实现日志压缩归档
  20. java:@SuppressWarnings注解

热门文章

  1. 002-Django数据库及后台admin配置
  2. Tensorflow Learning1 模型的保存和恢复
  3. 【Windows Server存储】windows文件系统
  4. 20191118 Spring Boot官方文档学习(4.9)
  5. C语言第十二周作业
  6. 普通项目——&gt;maven项目——&gt;SSM(一)
  7. 分享一个linux中测试网站是否正常的shell脚本
  8. java中Map的put函数和get函数用法
  9. jQuery之排他思想
  10. 《CSS权威指南》双鱼书概述——第一章CSS和文档