洛谷 P2651 添加括号III

题目网址 →添加括号III
这题用了极端法
也就是a1/a2/a3/…/an=(a1a3a4*…*an)/a2;
但是如果进行约分,
知道a2能被约分成1,
那么就是整数。
每次将a2=a2/gcd(a2,ai),i=(1,3,4,5…)

#include<bits/stdc++.h>
using namespace std;
int a[10001],t,n;
int main()
{
    cin>>t;
    for(int i=1;i<=t;i++)
    {
        cin>>n>>a[1]>>a[2];
        a[2]/=__gcd(a[1],a[2]);
        for(int i=3;i<=n;i++)
        {
            cin>>a[i];
            a[2]/=__gcd(a[2],a[i]);
        }
        if(a[2]==1)
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44009311/article/details/87206884