【洛谷】P2651

2018-11-17  本文已影响0人  Claire_cc

https://www.luogu.org/problemnew/show/P2651
没写出来,其实和P4702是一个套路,脑子没转过来,惭愧了
分析过程:
两个两个看如果想把分母翻到上面来,则该分数前面一定要有一个除号,因此a2一定在分母里面,a1一定在分子里面。其他ai都可以通过加括号的方式在分子分母都可以,因此只要保证a1,a3,a4...an的乘积被a2整除就可以了。
代码:

#include<bits/stdc++.h>
using namespace std;
int gcd(int x,int y)
{
    return y==0?x:gcd(y,x%y);
}
int main()
{
    int n,m,tmp;
    vector<int> v;
    cin>>n;
    while(n--)
    {
        cin>>m;
        for(int i=0;i<m;i++)
        {
            cin>>tmp;
            v.push_back(tmp);
        }
        if(m>1)
        {
            v[1]/=gcd(v[0],v[1]);
            for(int i=2;i<m;i++)
            {
                v[1]/=gcd(v[i],v[1]);
            }
            if(v[1]==1)
                cout<<"Yes"<<endl;
            else
                cout<<"No"<<endl;
        }
        else
            cout<<"Yes"<<endl;

        v.clear();
    }
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读