题意:
思路:
看到这道题的时候,真的就是什么都想不起来了55555
那么怎么写呢?对于a x b大小的巧克力,我们就要在a和b中分别都完全删除因子2和因子3,看剩下的部分面积是否相等,毕竟只是要求面积相等,对于长和宽没有任何的限制。。。面积不相等,则输出-1,否则就输出abs(a1 - a2) + abs(b1 - b2)
很简单的一道题,但是看到它,我真的什么都想不起来了
代码实现:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int maxn = 2e5 + 5;
int a[10];
int b[10];
int main(){
scanf("%d%d",&a[1],&b[1]);
scanf("%d%d",&a[2],&b[2]);
int a1 = 0; int b1 = 0; int a2 = 0; int b2 = 0;
for(;a[1]%2==0;a1++) a[1] = a[1] / 2;
for(;b[1]%2==0;a1++) b[1] = b[1] / 2;
for(;a[1]%3==0;b1++,a1++) a[1] = a[1] / 3;
for(;b[1]%3==0;b1++,a1++) b[1] = b[1] / 3;
for(;a[2]%2==0;a2++) a[2] = a[2] / 2;
for(;b[2]%2==0;a2++) b[2] = b[2] / 2;
for(;a[2]%3==0;b2++,a2++) a[2] = a[2] / 3;
for(;b[2]%3==0;b2++,a2++) b[2] = b[2] / 3;
if(a[1] * b[1] != a[2] * b[2]) printf("-1\n");
else printf("%d\n",abs(a1 - a2) + abs(b1 - b2));
return 0;
}