搜索算法——加一乘二平方
来源:互联网 发布:linux命令 退出 编辑:程序博客网 时间:2024/05/23 12:01
描述
最简单的队列的使用
给定两个正整数m、n,问只能做加1、乘2和平方这三种变化,从m变化到n最少需要几次
给定两个正整数m、n,问只能做加1、乘2和平方这三种变化,从m变化到n最少需要几次
输入
输入两个10000以内的正整数m和n,且m小于n
输出
输出从m变化到n的最少次数
输入样例
1 16
输出样例
3
基本思路:套用搜索算法的一般模式即可。
基本思路:套用搜索算法的一般模式即可。
#include <iostream>#include <queue>using namespace std;int m, n, step[10000000];queue<int>q;int bfs();int moveto(int key, int dir);int main(){ cin >> m >> n ; cout << bfs()-1 << endl;}int bfs(){ step[m] = 1; q.push(m); while(!q.empty()) { int u = q.front(); q.pop(); for(int i = 0; i < 3; i++) { int v = moveto(u,i); if(v == n) return(step[u]+1); if( v <= n &&step[v] == 0 ) { step[v] = step[u] + 1; q.push(v); } } } return 0;}int moveto(int key, int dir){ switch(dir) { case 0 : key++; break; case 1 : key = key * 2; break; case 2 : key = key * key; break; } return key;}
1 0
- 搜索算法——加一乘二平方
- 蓝桥杯—平方怪圈 算法分析
- 算法爱好者——完美平方 ? 待解决
- 搜索算法——深度搜索
- "反复平方"——快速计算一个数的平方
- 加一乘二平方
- 加一乘二平方
- 加一乘二平方
- 算法 Tricks(五)—— 将一个序列量化为何值时平方误差最小
- 算法爱好者——判断某整数是否为两数平方之和 ? 待解决
- 搜索算法——总结
- 算法——二分搜索
- 算法——跳跃搜索
- 算法——跳跃搜索
- C语言之基本算法03—三位数的完全平方数且两位相同
- 模重复平方算法
- 平方乘算法实现
- 算法训练 平方计算
- [排序]
- WP Super Cache设置教程
- handler中传递JSON数据的写法
- log调试利器------__TIME__, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__搞起
- Android自定义卫星弧度菜单
- 搜索算法——加一乘二平方
- javaScript之——数据类型
- 数据结构-栈
- WordPress 伪静态规则(IIS/Apache/Nginx)
- mysql5.7.16安装或配置(啊呀,随便了.zip的那个)
- 搜索算法——六数码
- 树莓派入门--系统安装、电脑连接
- 383.Container With Most Water-装最多水的容器(中等题)
- 在使用ThinkJS搭建后台时通过时间段查询数据报错的解决方案