51nod-1429 巧克力
原题链接
现在有两个块巧克力一块大小是a1 × b1 的,另外一块大小是a2 × b2 的。
现在要把两块巧克力变成面积一样大小,可以使用下列两种方法:
· 可以沿横向或纵向的网格线分成两等分,然后吃掉其中的一份。
· 可以沿横向或纵向的网格线分成2/3,1/3的两份,吃掉小的那一份。
因此使用第一种方法会留一半巧克力,用第二种方法会留下2/3巧克力。
两种方法并不总是可行的,有些时候两种方法都不能再用了。比如巧克力大小是16 × 23的时候,可以使用第一种方法,但是不能使用第二种方法。当大小是20 × 18的时候,可以使用第一种方法或者第二种方法。如果大小是5 × 7的时候,两种方法都不能使用。
问最少要操作几次才能使得两块巧克力的面积是一样的。
单组测试数据。 第一行有两个整数a1, b1 (1 ≤ a1, b1 ≤ 10^9),表示第一块巧克力的大小。 第二行有两个整数a2, b2 (1 ≤ a2, b2 ≤ 10^9),表示第二块巧克力的大小。
对于每一组数据输出占一行,输出一个整数表示最小步数,如果无法达到输出-1。
2 6 2 3
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 巧克力相关推荐
- 【51nod 3241】【堆】小明和他的同学们
小明和他的同学们 题目 解题思路 Code 51nod 3241 小明和他的同学们 题目 小明在全球数学竞赛获得了冠军,他很高兴,所以他想请他的同学吃巧克力,但是小明每天都很忙,只有x分钟的时间可以宴 ...
- 【51nod】【堆】小明和他的朋友们
[51nod][堆]小明和他的朋友们 题目 解题思路 将每个朋友当前吃完巧克力的结束时间,和吃一个巧克力的时间丢进堆里维护 因为如果同时,先给吃的速度快的 丢进去时没有被完整吃掉的数量+1,当取出来时 ...
- 51nod 1617 奇偶数组
传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...
- HDU 1429 胜利大逃亡(续) (BFS+位压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) ...
- 送一款巧克力式绝美键盘!真香!
赠送规则 本次活动联合了 10 个优质号主,送出 7台适合程序员的巧克力键盘,选择巧克力,是因为即将到来的5.1节. 进入下面每个公众号主页回复 562 获得一张 助力券,扫描参与抽奖.每扫描一次会增 ...
- 51NOD 1773:A国的贸易——题解
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1773 参考1:FWT讲解 https://www.cnblogs.com ...
- 51nod 1040:最大公约数之和(数论)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...
- 把巧克力球送上天,玛氏用Uni Marketing 打造网红零食
把巧克力球放在天空之城的火山口,巧克力就会飞起来! 轻得可以飞上天,这是玛氏旗下品牌"麦提莎"在中国新品上市时的一个创意,购买麦提莎产品时会限量附赠一个天空之城的黑科技装备,主推& ...
- 洛谷 P4475 巧克力王国 解题报告
P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...
- (DP)51NOD 1183 编辑距离
编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除 ...
最新文章
- Java网络编程笔记2
- 分分钟入门【Nodejs】—一个网页是如何生成的
- 《Adobe After Effects CS6中文版经典教程》——1.3 创建合成图像与组织图层
- java面向对象程序设计董小园_java面向对象程序设计(董小园版).doc
- 高中会考计算机免考条件,高中会考学生听力残疾可免考外语听力
- 第二章 身份验证——跟我学习springmvc shiro mybatis
- 猎豹网校C++ Primer学习笔记
- dos命令安装windows系统
- 企业网络安全的重要性
- css3制作梯形,css3实现梯形三角
- FTP 打开文件夹提示该文件没有程序与之关联来执行该操作 请在控制面板的文件夹选项中创建关联
- matlab根据数据进行降频,Ubuntu 下对CPU进行降频
- 项目的成功标准如何衡量?【一杯咖啡谈项目】
- opencv 视频处理(python)
- 中文分词:原理及分词算法
- kvm切换器不了linux系统,KVM切换器使用中最常见故障排除处理
- 转载 调试器工作原理
- Docker容器安装ssh
- #分治#poj 2083 Fractal
- 二维图像的傅立叶变换