Codeforces Round #426 (Div. 2)C. The Meaningless Game

Posted 早知如此绊人心,何如当初莫相识。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #426 (Div. 2)C. The Meaningless Game相关的知识,希望对你有一定的参考价值。

题意:AB两个人,每一轮,其中一人选择一个数字K,那么A就变成A*k*k,B就变成B*K,给出结果,问是否可能

思路:不管多少轮,A*B结果都是某个数的立方,二分


 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N=1e5+10,M=1e6+10,inf=1e9+7,MOD=1e9+7;
 5 const ll INF=1e18+10,mod=1e9+7;
 6 
 7 
 8 int main()
 9 {
10     int T;
11     scanf("%d",&T);
12     while(T--)
13     {
14         ll a,b;
15        scanf("%lld%lld",&a,&b);
16        ll l=1,r=1e6+10,ans=-1;
17         while(l<=r)
18         {
19             ll mid=(l+r)/2;
20             if(mid*mid*mid<=a*b)
21             {
22                 ans=mid;
23                 l=mid+1;
24             }
25             else r=mid-1;
26         }
27         if(ans*ans*ans==a*b&&a%ans==0&&b%ans==0)printf("Yes\n");
28         else printf("No\n");
29     }
30     return 0;
31 }

 


 

以上是关于Codeforces Round #426 (Div. 2)C. The Meaningless Game的主要内容,如果未能解决你的问题,请参考以下文章

codeforces round #426 div 2

Codeforces Round #426 A

Codeforces Round #426 (Div. 1) (ABCDE)

Codeforces Round #426 (Div. 2)A. The Useless Toy

Codeforces Round #426 (Div. 2) C. The Meaningless Game (二分 or pow函数)

Codeforces Round #426 (Div. 2)B. The Festive Evening