1541.加1乘2平方

2023-12-13 04:58
文章标签 平方 1541

本文主要是介绍1541.加1乘2平方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 1541.加1乘2平方
时限:1000ms 内存限制:10000K  总时限:3000ms
描述
最简单的队列的使用
#include <iostream>
#include <queue>
using namespace std;

queue<int> q1;
int main()
{
int temp, x;
q1.push(5);//入队
q1.push(8);//入队
temp = q1.front();//访问队首元素
q1.pop();//出队
q1.empty();//判队列是否为空
q1.back();//返回队尾元素
q1.size();//返回队列长度
}

给定两个正整数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;
int used[10001]={0};
int step[10001];int bfs();
int moveto(int u,int dir);queue<int>q;int main()
{int num;cin>>m>>n;q.push(m);  //进行初始化used[m]=1;step[m]=0;num=bfs();cout<<num<<endl; 
} int bfs()
{int u,v,i;while(!q.empty())	//如果队列非空{u=q.front();	//令u为队头q.pop();	//将队头取出for(i=0;i<3;i++){v=moveto(u,i);	//v为u的三种新状态if(v==n)	//如果v是目标值{return(step[u]+1);}if(v<=n&&used[v]==0)	//判断v是否可以进一步扩展{q.push(v);used[v]=1;step[v]=step[u]+1;}} } 
}int moveto(int u,int dir)
{if(dir==0){return(u+1);}if(dir==1){return(u*2);}if(dir==2){return(u*u);}
}


这篇关于1541.加1乘2平方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/487201

相关文章

代码随想录:977. 有序数组的平方

977. 有序数组的平方 法一:用函数sort来写 class Solution {public:vector<int> sortedSquares(vector<int>& nums) {for(auto &i:nums)i*=i;sort(nums.begin(),nums.end());return nums;}}; 法二:双指针 因为原数组有序,所以我们用双指针遍历两边,把大的

python 实现perfect square完全平方数算法

python 实现perfect square完全平方数算法介绍 完全平方数(Perfect Square)是一个整数,它可以表示为某个整数的平方。例如,1,4,9,16,25,… 都是完全平方数,因为 1 = 1 2 , 4 = 2 2 , 9 = 3 2 1=1^2,4=2^2,9=3^2 1=12,4=22,9=32,依此类推。 要判断一个给定的数 n 是否是完全平方数,有几种方法可以

有向图的平方图算法分析与实现

有向图的平方图算法分析与实现 1. 使用邻接链表表示图2. 使用邻接矩阵表示图3.总结 有向图的平方图(Graph Squaring)是一种图论中的操作,其目的是创建一个新图,其中如果原图中存在一条最多由两条边构成的路径从顶点u到顶点v,则在平方图中存在一条边(u, v)。本文将探讨如何通过邻接链表和邻接矩阵两种方式来表示有向图,并分别给出计算其平方图的算法,同时分析这些算法的时间

[Algorithm][综合训练][字符编码][最少的完全平方数][游游的字母串]详细讲解

目录 1.字符编码1.题目链接2.算法原理详解 && 代码实现 2.最少的完全平方数1.题目链接2.算法原理详解 && 代码实现 3.游游的字母串1.题目链接2.算法思路详解 && 代码实现 1.字符编码 1.题目链接 字符编码 2.算法原理详解 && 代码实现 解法:给一个字符串进行二进制编码,使得编码后的字符串长度最短 --> 哈夫曼编码#include <i

平方Pearson相关系数(SPCC)相关公式的推导

1、PCC及SPCC的定义 最近推导了维纳滤波的公式,其中最重要的是当然是最小平方误差准则(MSE)。但是在很多实际应用中,参考信号是不可知的,因此MSE准则不具有实际意义。为了解决这个问题,我们需要寻找另一个准则替代MSE成为新的代价函数。这就是皮尔逊相关系数(Pearson Correlation Coefficient, PCC)的来历。通过研究发现,相较于MSE,PCC具有许多吸引人的优

代码随想录训练营 Day38打卡 动态规划 part06 322. 零钱兑换 279. 完全平方数 139. 单词拆分

代码随想录训练营 Day38打卡 动态规划 part06 一、力扣322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示例: 输入:coins = [1, 2, 5], amount = 1

csdn第五届在线编程大赛-完全平方

题目详情 给定整数区间[A,B]问其中有多少个完全平方数。 输入格式: 多组数据,包含两个正整数A,B 1<=A<=B<=2000000000。 输出格式: 每组数据输出一行包含一个整数,表示闭区间[A,B]中包含的完全平方数的个数。 答题说明 输入样例 1 1 1 2 3 10 3 3 输出样例: 1 1 2 0 解答: #include<

【代码随想录训练营第42期 Day38打卡 - 动态规划Part6 - LeetCode 322. 零钱兑换 279.完全平方数 139.单词拆分

目录 一、做题心得 二、题目与题解 题目一:322. 零钱兑换 题目链接 题解:动态规划--完全背包  题目二: 279.完全平方数 题目链接 题解:动态规划--完全背包 题目三:139.单词拆分 题目链接 题解:动态规划--完全背包 三、小结 一、做题心得 今天来到了代码随想录动态规划章节的Part6,依旧是完全背包问题的应用。相对于前边直接套用模板,今天

C++ | Leetcode C++题解之第367题有效的完全平方数

题目: 题解: class Solution {public:bool isPerfectSquare(int num) {double x0 = num;while (true) {double x1 = (x0 + num / x0) / 2;if (x0 - x1 < 1e-6) {break;}x0 = x1;}int x = (int) x0;return x * x == n

Python | Leetcode Python题解之第367题有效的完全平方数

题目: 题解: class Solution:def isPerfectSquare(self, num: int) -> bool:x0 = numwhile True:x1 = (x0 + num / x0) / 2if x0 - x1 < 1e-6:breakx0 = x1x0 = int(x0)return x0 * x0 == num