Catch That Cow(poj 3278)
2016-06-29 17:56
369 查看
给定两个整数n和k
通过 n+1或n-1 或n*2 这3种操作,使得n==k
输出最少的操作次数
View Code
通过 n+1或n-1 或n*2 这3种操作,使得n==k
输出最少的操作次数
//广搜,a是队列,step记录步数,vis记录哪些数被搜到过 #include<cstdio> #include<iostream> #define M 1000010 using namespace std; int step[M],a[M],vis[M]; int main() { int n,m,head=0,tail=1; scanf("%d%d",&n,&m); a[1]=n; vis =1; while(head<tail) { ++head; int u=a[head]; if(u==m) { printf("%d",step[head]); return 0; } if(u-1>=0&&!vis[u-1]) { a[++tail]=u-1; step[tail]=step[head]+1; vis[u-1]=1; } if(u+1<1000000&&!vis[u+1]) { a[++tail]=u+1; step[tail]=step[head]+1; vis[u+1]=1; } if(u*2<1000000&&!vis[u*2]) { a[++tail]=u*2; step[tail]=step[head]+1; vis[u*2]=1; } } return 0; }
View Code
相关文章推荐
- 自适应布局,完美解决左右两边固定大小,中间内容适应大小。
- Android ListView初始化将实例化多少个item
- INF文件
- USB基础介绍
- Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮
- 线性方程组(高斯消元)
- RPC与REST的区别
- 事件处理机制之TouchListener 与 OnTouchEvent & 多点触碰
- 收藏Android学习过程中的精华博客
- GeoServer跨域设置
- SQL语句基础教程。
- 新浪乐居 人人投 我的选择
- Hibernate中日期类型字段的映射策略
- What is M3U8
- Linux tcpdump命令详解
- solr 主从集群2
- 开源大数据引擎:Greenplum 数据库架构分析
- (转)USB的描述符及各种描述符之间的依赖关系
- test
- 简单聊聊Handler机制