upc组队赛1 不存在的泳池【GCD】
题目描述
小w是云南中医学院的同学,有一天他看到了学校的百度百科介绍:
截止到2014年5月,云南中医学院图书馆纸本藏书74.8457万册,纸质期刊388种,馆藏线装古籍图书1.8万册,电子资源总量35TB,拥有中、外文数据库25个,电子图书29.5万册(镜像)、包库130万册。古籍线装图书1.8万余册,有39种列为本馆珍善本,如《彻滕八编》、《赵氏医贯》等明清版本、台湾文渊阁版本《四库全书》,按《全国古籍善本书总目》分类表(即:经·史·子·集四部分类)部编列、上架、供读者使用。
显然学校图书馆的占地面积非常大,于是他开始想象.....如果他有一个跟图书馆一样大的游泳池?!
如果有一个那么大的游泳池,他就可以邀请女神一起去游泳...
如果有一个那么大的游泳池,他还可以划开一半出租,收取门票费赚钱...这样等赚了一些钱之后,就招一些游泳教练来,然后对外招生,招收学生继续赚更多的钱!
如果有一个那么大的游泳池,他还能把泳池里的水全部放光...开一个吕子乔心目中最大最棒的泳池派对!
.......
等有了更多的钱,就可以在第一个泳池旁边再建一个一样大的泳池......
小w一边流口水一边想自己的未来,一想到女神看到自己事业有成,靠一个游泳池白手起家发家致富,对自己投怀送抱,高兴的根本合不拢嘴。
这时候旁边的小q作为小w的室友,随口提了一句:“这么大的泳池,你怎么换水?”
显然小w是个有原则的人,他不会让自己的泳池像不法商家一样不换水,用不干净的水给别人使用或者给自己使用。
小w百度了之后发现...淘宝里有一家店卖一种一次性抽水机,这种一次性抽水机很神奇,它有两个按钮:
1.如果泳池里的水(立方米)是3的倍数,那么可以按第一个按钮让它抽走泳池里三分之二的水
2.如果泳池里的水(立方米)是2的倍数,那么可以按第二个按钮让它抽走泳池里二分之一的水
小w虽然是个有原则的人,但是作为一个商人,他需要节省钱...而且他现在有两个泳池....但是显然这种抽水机不能把水抽光,水越少,性价比就越低。
但是两个泳池建在一起,如果两个泳池的水面不一样高,那么小w会很不开心,所以他想用这种抽水机,把两个泳池里的水抽成一样多。然后再考虑别的....当然在保证能把两个泳池里的水抽成一样多的情况下..他希望花的钱最少...
(不管了!好看最重要,好看才能吸引顾客啊!先好看!再考虑怎么换水吧)
输入
多组测试数据,给出A,B表示两个泳池当前的水量(立方米)
(1<=A,B<=10^9)
输出
每组测试数据输出一个整数表示至少需要买多少个一次性抽水机,若买多少个都不能让泳池的水相等,则输出"-1"
样例输入
5 20
14 8
6 6
样例输出
2
-1
0
题解
求一下最大公约数,化简到最简形式,通过除2或者除3 看能不能把两个数都化简成1,可以的话输出进行了几次除的操作
代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
#define readc(x) scanf("%c",&x)
#define read(x) scanf("%d",&x)
#define read2(x,y) scanf("%d%d",&x,&y)
#define read3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define print(x) printf("%d\n",x)
#define lowbit(x) x&-x
#define lson(x) x<<1
#define rson(x) x<<1|1
#define pb push_back
#define mp make_pair
typedef pair<int,int> P;
typedef long long LL;
typedef long long ll;
const double eps=1e-8;
const double PI = acos(1.0);
const int INF =0x3f3f3f3f;
const int inf = 0x3f3f3f3f;
const int MAXN=1e6+7;
const int maxn=1000000+10;
const int maxm = 1;
const int mod=1e9+7;
int n,m;
int a,b;
int ans;
int gcd(int a,int b) {return b == 0 ? a : gcd(b,a%b);}
void solve(int &x){while(x % 2 == 0){ans ++;x /= 2;}while(x % 3 == 0){ans ++;x /= 3;}
}
int main()
{while(read2(a,b) != EOF){ans = 0;int t = gcd(a,b);a = a / t;solve(a);b = b / t;solve(b);printf("%d\n",a == 1 && b == 1 ? ans : -1);}
}
转载于:https://www.cnblogs.com/llke/p/10789784.html
upc组队赛1 不存在的泳池【GCD】相关推荐
- upc组队赛16 GCDLCM 【Pollard_Rho大数质因数分解】
GCDLCM 题目链接 题目描述 In FZU ACM team, BroterJ and Silchen are good friends, and they often play some int ...
- upc组队赛1 小C的数学问题【单调栈】(POJ2796)
小C的数学问题 题目描述 小C是个云南中医学院的大一新生,在某个星期二,他的高数老师扔给了他一个问题. 让他在1天的时间内给出答案. 但是小C不会这问题,现在他来请教你. 请你帮他解决这个问题. 有n ...
- upc组队赛5 Bulbs
Bulbs 题目描述 Greg has an m × n grid of Sweet Lightbulbs of Pure Coolness he would like to turn on. Ini ...
- upc 组队赛18 STRENGTH【贪心模拟】
STRENGTH 题目链接 题目描述 Strength gives you the confidence within yourself to overcome any fears, challeng ...
- upc组队赛15 Supreme Number【打表】
Supreme Number 题目链接 题目描述 A prime number (or a prime) is a natural number greater than 1 that cannot ...
- upc组队赛5 Election of Evil【搜索】
Election of Evil 题目描述 Dylan is a corrupt politician trying to steal an election. He has already used ...
- upc组队赛1 黑暗意志【stl-map】
黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在雷神统治时期,他的要塞就是雷电之王力 ...
- vscode不会自动生成html,vscode 快速生成html
CoolTrayIcon4.0 CoolTrayIcon:在任务栏放置图标的控件,是同类空间中功能最为完善和强大的. 1.支持动态图标 2.交互式气球样式的提示框 3.支持bitmaps到icons的 ...
- 不存在的泳池 【GCD水题】
问题 E: 不存在的泳池 时间限制: 1 Sec 内存限制: 128 MB 提交: 379 解决: 155 [提交] [状态] [命题人:外部导入] 题目描述 小w是云南中医学院的同学,有一天他看 ...
最新文章
- HttpServletResponse对象(一)
- [PAL编程规范]SAP HANA PAL多项式回归预测分析Polynomial Regression编程规范FORECASTWITHPOLYNOMIALR(预测)...
- FireBug的控制台管理
- 序列化技术的选型-选型建议
- 安卓应用用户数据_Android手机用户注意,你要知道的中国十大安卓应用商店
- SAP Spartacus cost center list class的赋值逻辑
- Doxygen for C++使用说明——注释代码一
- VS2010新建Web网站与新建Web应用程序的区别
- VB.net编码规范(转帖)
- 【报告分享】2019中国少儿编程行业报告.pdf(附下载链接)
- Pentaho BIServer 5.0.1 CE 免登录设置
- 微信引流黑科技:手机浏览器直接唤起微信方案调研
- cmos电路多余输入端能否悬空_CMOS电路多余输入端悬空会造成逻辑混乱,可以这样处理!...
- mysql脏读和幻读区别_数据库的脏读、不可重复读和幻读区别
- 新唐M251 CORTEX-M23内核移植TencentOS tiny教程
- 计算机系统概述学后感,计算机操作系统学习心得体会总结(2)
- 卸载的软件电脑重启后又出现了,怎么办?
- 优化算法+神经网络:神经网络自动参数优化
- 使用电脑的时候,发现麦克风不能录音了
- 怎样把经纬度坐标转换为空间直角坐标
热门文章
- 单片机小白篇1 -51单片机代码加密程序
- 软件企业研发人员激励机制研究(转载)
- ES实战系列-Elasticsearch介绍
- es系列总结(一)ElasticSearch
- 数据库系统原理 实验3 数据库设计
- 计算机英语形成性考核册答案,电大计算机本科【计算机数学基础(1)】形成性考核册答案(附完整题目)...
- linux下oracle错误日志,Linux系统最近重启时间、错误日志
- kubectl get -o 格式化
- 视频压缩编码标准,深入浅出,图文并茂
- 【案例】正浩创新:多云多资产,实现敏捷云上运维