不存在的泳池

题目描述

小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】相关推荐

  1. upc组队赛16 GCDLCM 【Pollard_Rho大数质因数分解】

    GCDLCM 题目链接 题目描述 In FZU ACM team, BroterJ and Silchen are good friends, and they often play some int ...

  2. upc组队赛1 小C的数学问题【单调栈】(POJ2796)

    小C的数学问题 题目描述 小C是个云南中医学院的大一新生,在某个星期二,他的高数老师扔给了他一个问题. 让他在1天的时间内给出答案. 但是小C不会这问题,现在他来请教你. 请你帮他解决这个问题. 有n ...

  3. upc组队赛5 Bulbs

    Bulbs 题目描述 Greg has an m × n grid of Sweet Lightbulbs of Pure Coolness he would like to turn on. Ini ...

  4. upc 组队赛18 STRENGTH【贪心模拟】

    STRENGTH 题目链接 题目描述 Strength gives you the confidence within yourself to overcome any fears, challeng ...

  5. upc组队赛15 Supreme Number【打表】

    Supreme Number 题目链接 题目描述 A prime number (or a prime) is a natural number greater than 1 that cannot ...

  6. upc组队赛5 Election of Evil【搜索】

    Election of Evil 题目描述 Dylan is a corrupt politician trying to steal an election. He has already used ...

  7. upc组队赛1 黑暗意志【stl-map】

    黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在雷神统治时期,他的要塞就是雷电之王力 ...

  8. vscode不会自动生成html,vscode 快速生成html

    CoolTrayIcon4.0 CoolTrayIcon:在任务栏放置图标的控件,是同类空间中功能最为完善和强大的. 1.支持动态图标 2.交互式气球样式的提示框 3.支持bitmaps到icons的 ...

  9. 不存在的泳池 【GCD水题】

    问题 E: 不存在的泳池 时间限制: 1 Sec  内存限制: 128 MB 提交: 379  解决: 155 [提交] [状态] [命题人:外部导入] 题目描述 小w是云南中医学院的同学,有一天他看 ...

最新文章

  1. HttpServletResponse对象(一)
  2. [PAL编程规范]SAP HANA PAL多项式回归预测分析Polynomial Regression编程规范FORECASTWITHPOLYNOMIALR(预测)...
  3. FireBug的控制台管理
  4. 序列化技术的选型-选型建议
  5. 安卓应用用户数据_Android手机用户注意,你要知道的中国十大安卓应用商店
  6. SAP Spartacus cost center list class的赋值逻辑
  7. Doxygen for C++使用说明——注释代码一
  8. VS2010新建Web网站与新建Web应用程序的区别
  9. VB.net编码规范(转帖)
  10. 【报告分享】2019中国少儿编程行业报告.pdf(附下载链接)
  11. Pentaho BIServer 5.0.1 CE 免登录设置
  12. 微信引流黑科技:手机浏览器直接唤起微信方案调研
  13. cmos电路多余输入端能否悬空_CMOS电路多余输入端悬空会造成逻辑混乱,可以这样处理!...
  14. mysql脏读和幻读区别_数据库的脏读、不可重复读和幻读区别
  15. 新唐M251 CORTEX-M23内核移植TencentOS tiny教程
  16. 计算机系统概述学后感,计算机操作系统学习心得体会总结(2)
  17. 卸载的软件电脑重启后又出现了,怎么办?
  18. 优化算法+神经网络:神经网络自动参数优化
  19. 使用电脑的时候,发现麦克风不能录音了
  20. 怎样把经纬度坐标转换为空间直角坐标

热门文章

  1. 单片机小白篇1 -51单片机代码加密程序
  2. 软件企业研发人员激励机制研究(转载)
  3. ES实战系列-Elasticsearch介绍
  4. es系列总结(一)ElasticSearch
  5. 数据库系统原理 实验3 数据库设计
  6. 计算机英语形成性考核册答案,电大计算机本科【计算机数学基础(1)】形成性考核册答案(附完整题目)...
  7. linux下oracle错误日志,Linux系统最近重启时间、错误日志
  8. kubectl get -o 格式化
  9. 视频压缩编码标准,深入浅出,图文并茂
  10. 【案例】正浩创新:多云多资产,实现敏捷云上运维