1. 程式人生 > >【CodeForces】426Div2 C The Meaningless Game

【CodeForces】426Div2 C The Meaningless Game

連結:http://codeforces.com/contest/834/problem/C

Solution
考的時候想複雜了,沒從整體下手。
因為一邊乘了k一邊乘了k^2,所以乘起來一定是k^3
c=(ab)13 ,如果a、b mod c都是0,那麼就能構造出滿足條件的方案

#include<stdio.h>
#include<cmath>
using std::pow;
typedef long long ll;
ll a,b,c,d;
int n;

inline void solve()
{
    scanf
("%I64d%I64d",&a,&b); c=pow(d=a*b,1.0/3)+0.2; puts(a%c==0 && b%c==0 && c*c*c==d?"Yes":"No"); } int main() { scanf("%d",&n); while (n--) solve(); }