原题链接

1429 巧克力
题目来源: CodeForces
基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题

 收藏
 关注

现在有两个块巧克力一块大小是a1 × b1 的,另外一块大小是a2 × b2 的。

现在要把两块巧克力变成面积一样大小,可以使用下列两种方法:

·        可以沿横向或纵向的网格线分成两等分,然后吃掉其中的一份。

·        可以沿横向或纵向的网格线分成2/3,1/3的两份,吃掉小的那一份。

因此使用第一种方法会留一半巧克力,用第二种方法会留下2/3巧克力。

两种方法并不总是可行的,有些时候两种方法都不能再用了。比如巧克力大小是16 × 23的时候,可以使用第一种方法,但是不能使用第二种方法。当大小是20 × 18的时候,可以使用第一种方法或者第二种方法。如果大小是5 × 7的时候,两种方法都不能使用。

问最少要操作几次才能使得两块巧克力的面积是一样的。

Input
单组测试数据。
第一行有两个整数a1, b1 (1 ≤ a1, b1 ≤ 10^9),表示第一块巧克力的大小。
第二行有两个整数a2, b2 (1 ≤ a2, b2 ≤ 10^9),表示第二块巧克力的大小。
Output
对于每一组数据输出占一行,输出一个整数表示最小步数,如果无法达到输出-1。
Input示例
2 6
2 3
Output示例
1
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <cmath>
#define maxn 100005
#define MOD 1000000007
using namespace std;
typedef long long ll;  int main(){int a1, b1, a2, b2;scanf("%d%d%d%d", &a1, &b1, &a2, &b2);ll s1 = (ll)a1 * b1, s2 = (ll)a2 * b2;int k1 = 0, k2 = 0, k3 = 0, k4 = 0;while(s1 % 2 == 0){k1++;s1 /= 2;}while(s1 % 3 == 0){k2++;s1 /= 3;}while(s2 % 2 == 0){k3++;s2 /= 2;}while(s2 % 3 == 0){k4++;s2 /= 3;}int ans = 0;if(s1 != s2)puts("-1");else{if(k2 > k4)k1 += k2 - k4;else if(k4 > k2)k3 += k4 - k2;ans += abs(k4 - k2);ans += abs(k1 - k3); printf("%d\n", ans);}return 0;
}

51nod-1429 巧克力相关推荐

  1. 【51nod 3241】【堆】小明和他的同学们

    小明和他的同学们 题目 解题思路 Code 51nod 3241 小明和他的同学们 题目 小明在全球数学竞赛获得了冠军,他很高兴,所以他想请他的同学吃巧克力,但是小明每天都很忙,只有x分钟的时间可以宴 ...

  2. 【51nod】【堆】小明和他的朋友们

    [51nod][堆]小明和他的朋友们 题目 解题思路 将每个朋友当前吃完巧克力的结束时间,和吃一个巧克力的时间丢进堆里维护 因为如果同时,先给吃的速度快的 丢进去时没有被完整吃掉的数量+1,当取出来时 ...

  3. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

  4. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

  5. 送一款巧克力式绝美键盘!真香!

    赠送规则 本次活动联合了 10 个优质号主,送出 7台适合程序员的巧克力键盘,选择巧克力,是因为即将到来的5.1节. 进入下面每个公众号主页回复 562 获得一张 助力券,扫描参与抽奖.每扫描一次会增 ...

  6. 51NOD 1773:A国的贸易——题解

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1773 参考1:FWT讲解 https://www.cnblogs.com ...

  7. 51nod 1040:最大公约数之和(数论)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...

  8. 把巧克力球送上天,玛氏用Uni Marketing 打造网红零食

    把巧克力球放在天空之城的火山口,巧克力就会飞起来! 轻得可以飞上天,这是玛氏旗下品牌"麦提莎"在中国新品上市时的一个创意,购买麦提莎产品时会限量附赠一个天空之城的黑科技装备,主推& ...

  9. 洛谷 P4475 巧克力王国 解题报告

    P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...

  10. (DP)51NOD 1183 编辑距离

    编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除 ...

最新文章

  1. Java网络编程笔记2
  2. 分分钟入门【Nodejs】—一个网页是如何生成的
  3. 《Adobe After Effects CS6中文版经典教程》——1.3 创建合成图像与组织图层
  4. java面向对象程序设计董小园_java面向对象程序设计(董小园版).doc
  5. 高中会考计算机免考条件,高中会考学生听力残疾可免考外语听力
  6. 第二章 身份验证——跟我学习springmvc shiro mybatis
  7. 猎豹网校C++ Primer学习笔记
  8. dos命令安装windows系统
  9. 企业网络安全的重要性
  10. css3制作梯形,css3实现梯形三角
  11. FTP 打开文件夹提示该文件没有程序与之关联来执行该操作 请在控制面板的文件夹选项中创建关联
  12. matlab根据数据进行降频,Ubuntu 下对CPU进行降频
  13. 项目的成功标准如何衡量?【一杯咖啡谈项目】
  14. opencv 视频处理(python)
  15. 中文分词:原理及分词算法
  16. kvm切换器不了linux系统,KVM切换器使用中最常见故障排除处理
  17. 转载 调试器工作原理
  18. Docker容器安装ssh
  19. #分治#poj 2083 Fractal
  20. 二维图像的傅立叶变换

热门文章

  1. 股票预测pythonlstm_LSTM预测股票涨跌--结合技术分析视角(一)
  2. auc是ROC曲线面积的直观理解
  3. Oracle数据库中,表的锁死查询与解锁。
  4. 文件或内容损坏无法读取 导致无法删除
  5. dirt安装,记录两个印象深刻的问题
  6. MySQL和数据库总结
  7. word打印机显示服务器脱机,教你怎样解决打印机脱机打印-word资料(精).docx
  8. 国外遥感影像如何下载之利用USGS网站影像下载无需JAVA
  9. 基于单片机指纹考勤机仿真系统-毕设资料
  10. 基于AE的GIS二次开发作业文档