hdu_2717_Catch That Cow_bfs
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2717
题解:一维简单BFS,详细看代码,0ms。
- #include<cstdio>
- #include<queue>
- using namespace std;
- const int maxn=;
- bool v[maxn];
- int n,k;
- struct nd{
- int x,step;
- };
- bool check(int x){
- if(x<||x>||v[x])return false;
- else return true;
- }
- int bfs(int s){
- for(int i=;i<=;i++)v[i]=false;//初始化标记
- queue<nd>Q;
- nd S;
- S.x=s,S.step=;
- v[s]=;
- Q.push(S);
- while(!Q.empty()){
- nd now=Q.front();Q.pop();
- if(now.x==k)return now.step;
- if(check(now.x+)){
- nd tmp;tmp.x=now.x+,tmp.step=now.step+;
- v[tmp.x]=;
- Q.push(tmp);
- }
- if(check(now.x-)){
- nd tmp;tmp.x=now.x-,tmp.step=now.step+;
- v[tmp.x]=;
- Q.push(tmp);
- }
- if(check(now.x*)){
- nd tmp;tmp.x=now.x*,tmp.step=now.step+;
- v[tmp.x]=;
- Q.push(tmp);
- }
- }
- return -;
- }
- int main(){
- while(~scanf("%d%d",&n,&k)){
- if(n>=k){printf("%d\n",n-k);continue;}//剪枝
- int ans=bfs(n);
- printf("%d\n",ans);
- }
- return ;
- }
hdu_2717_Catch That Cow_bfs的更多相关文章
- HDU_2717_Catch That Cow
很短的 BFS 队列 HDU_2717_Catch That Cow #include<iostream> #include<algorithm> #include<cs ...
- Catch That Cow_bfs
Catch That Cow 题目大意:FrammerJohn找奶牛,给出n和k.FJ在n处.每次他可以向左移动一格.向右移动一格或者移动到自己当前格子数乘2的地方.求FJ最少移动多少次.其中,FJ和 ...
随机推荐
- Token注解防止表单的重复提交
注解的一些基础: 参见http://blog.csdn.net/duo2005duo/article/details/50505884和 http://blog.csdn.net/duo2005duo ...
- jquery插件autoComplete自动弹出
导入 <link rel="stylesheet" href="${ctx }/static/plugins/jQuery-autoComplete-master/ ...
- scip学习
最近在学习scip 准备把里面比较有价值的题分别用lisp和c语言写出来.这样或许能更加深入的理scheme的函数式编程. tip:我用的c语言环境是vs2015,lisp环境为Drracket;
- Salesforce自主学习(一)
Salesforce学习--接触Apex: 学习目标: 1.描述出Apex程序语言的关键特点: 2.保存一个Apex类并用另一个Apex类来调用它的方法: 3.使用Developer Console检 ...
- 网络爬虫-获取infoq里的测试新闻保存至html
用java+webdriver+testng实现获取infoq里的测试新闻,获取文章标题和内容,保存至html文件 前提条件: 已安装好java环境,工程导入了webdriver的jar包和testn ...
- js注入 mooc
javascript:(function(){try{var a=document.createElement('SCRIPT');a.type='text/javascript',a.src='// ...
- vue对比其他框架
对比其他框架 React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式(Reactive)和组件化(Composable)的视图组件. 将注意力集中保 ...
- #js#简单的在线计算器
啊因为懒得去找素材了,所以做了一个仿win10计算器的灰白色计算器. 参考:http://www.html5tricks.com/jquery-calculator.html HTML源码: < ...
- sqlserver 操作xml
1.xml.exist 输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 2.xml.value 输入为XQuery表达式,返回一个SQL ...
- 深入理解java回调机制
Callback的定义 一般在程序中执行回调函数是,是知道回调函数是预留给系统调用的,而且知道该函数的调用时机. 比如说android应用定义一个button对象,并给按钮添加一个监听事件," ...