题意,一条数轴上,告诉你起点和终点,只能向前走1,向后走1,或者走到二倍的现在的位置,每次都耗时一分钟。问从起点到终点的最短时长。

简单地bfs

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <map>
#include <string>
#include <string.h>
#include <queue>
#include <vector>
#include <set>
#include <cmath>
#define inf 0x7fffffff
using namespace std;
int n,k,a[],flag[];
int bfs(){
queue<int> q;
q.push(n);
while(q.size()){
int p=q.front();
q.pop();
if(p==k) break;
for(int i=;i<;i++)
{
if(!i&&p>&&!flag[p-])
{
q.push(p-);
a[p-]=a[p]+;
flag[p-]=;
}
if(i==&&!flag[p+]&&p+<)
{
q.push(p+);
a[p+]=a[p]+;
flag[p+]=;
}
if(i==&&!flag[p*]&&p*<)
{
q.push(p*);
a[p*]=a[p]+;
flag[p*]=;
}
}
}
return a[k];
}
int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
memset(a,,sizeof(a));
memset(flag,,sizeof(flag));
printf("%d\n",bfs());
}
return ;
}

一定要flag数组,因为很有可能好几种走法都能到达终点,导致,终点被加了好几次。而最先走到的,肯定是最短的。还有每次走的时候都要判断有没有越界。。因为这个RE两次。

[NWPU2016][寒假作业][正常版第三组]搜索和二分 N的更多相关文章

  1. [NWPU2016][寒假作业][正常版第三组]R&&HDU1240

    题意是有个三维的地图,从起点到终点的最短路径.用bfs做,不过这个题坑的地方在于,开三维数组你要搞清楚纬度的关系.a[i][j][h] i是层,j是行,h是列.然后坐标呢,又是列,行,层,所以如果要用 ...

  2. [NWPU2016][寒假作业][正常版第三组]I

    素数环,简单的dfs,但这道题我有个小地方写错了半天发现不了..就是flag数组的位置.一定要放在if里面,刚开始没注意,一不小心写到外面了. #include <iostream> #i ...

  3. [NWPU2016][寒假作业][正常版第二组]U

    题意,有箱子和物品,宽度一样,长度不一样,给定箱子和物品,一个箱子至多能装两个物品,一个物品只能被一个箱子装,求最少多少箱子能装所有的物品. 思路:贪心的话,很容易想到,从大到小排,从最大的开始,往后 ...

  4. 【GDKOI2014】JZOJ2020年8月13日提高组T3 壕壕的寒假作业

    [GDKOI2014]JZOJ2020年8月13日提高组T3 壕壕的寒假作业 题目 Description Input Output 输出n行.第i行输出两个整数,分别表示第i份作业最早完成的时刻以及 ...

  5. 2016蓝桥杯省赛C/C++A组第六题 寒假作业

    题意:现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ 每个方块代表1~13中的某一个数字,但不能重复. 比如: ...

  6. UberX及以上级别车奖励政策(优步北京第二、三组)

    优步北京第二.三组: 定义为2015年6月1日至7月19日激活的司机(以优步后台数据显示为准) 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版 ...

  7. Uber优步北京第二、三组奖励政策

    优步北京第二.三组: 定义为​2015年6月1日至今激活的司机(以优步后台数据显示为准) 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最新最 ...

  8. 成都优步uber司机第三组奖励政策

    今天成都优步又推出了优步司机第三组,第一二组的奖励大家都晓得,但是第三组的奖励怎么样呢?还是先看看官方给出的消息. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册 ...

  9. 6月29-7月5日成都uber优步司机第一/二/三组奖励政策明细

    成都优步司机第一/二/三组奖励更新了,在写下文之前,我先吐槽一下:靠优步uber发财致富已成往事. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全 ...

随机推荐

  1. perl 语言学习总结

    .#!/usr/bin/perl -w 内建警告信息,Perl发出警告 .字符串 . 连接符 .重复次数 .字符串与数字之间的自动转换 .; + += *= .= not and or xor .pr ...

  2. MySQL_活动期间单笔订单最高的且满600元 判别是重激活客户还是10月注册客户_20161031

    将29号和30号两个需求放到一个表当中 首先都满足在10.29到31号之间单笔订单最高的且满600元 数据结构为一个用户一个订单ID 一行一行的 上面是第一个表 我们当做主表 a 第二个表 我们找注册 ...

  3. ACM学习历程—Hihocoder 1177 顺子(模拟 && 排序 && gcd)(hihoCoder挑战赛12)

      时间限制:6000ms 单点时限:1000ms 内存限制:256MB   描述 你在赌场里玩梭哈,已经被发了4张牌,现在你想要知道发下一张牌后你得到顺子的概率是多少? 假定赌场使用的是一副牌,四种 ...

  4. SpringMVC之六:Controller详细介绍

    一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Mo ...

  5. JavaScript与DOM常见面试题

    1. JavaScript 1.1.简要描述 JavaScript的数据类型? 参考答案: Java Sc ri pt 的数据类型可以分为原始类型和对象类型.原始类型包括 string. number ...

  6. 面试题: 数据库 sql优化 sql练习题 有用 学生表,课程表,成绩表,教师表 练习

    什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL.T-SQL). 存储过程的优点: 能够将代码封装起来 保存在数据库之 ...

  7. DOM,API,CSS,href,万方db文章,数据库工程师要求

    DOM,文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展标志语言的标准编程接口. API,应用程序接口 (API:Application Program Int ...

  8. zoj3826 Hierarchical Notation (字符串模拟)

    Hierarchical Notation Time Limit: 2 Seconds      Memory Limit: 131072 KB In Marjar University, stude ...

  9. CPU密集型和IO密集型

    对于Python如果是CPU密集型应该用多进程模型(大量的计算)   如果是IO密集型应该用多线程模型(数据的读取写入.网络IO数据传输) 由于GIL的存在,CPython不能有效的利用多核处理器,表 ...

  10. 面试问题 ---C#中的委托

    一.C#委托是什么的? 在正式介绍委托之前,我想下看看生活中委托的例子——生活中,如果如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师真真执行的是当事人的陈词,这时候律师就是一个委托对象,当 ...