bzoj1385(数学)

来源:互联网 发布:淘宝店铺怎么开通分期 编辑:程序博客网 时间:2024/06/04 18:06

紫书上原题

用gcd来做


#include<cstdio>#include<cmath>#include<cstdlib>#include<algorithm>using namespace std;typedef long long ll;inline int gcd(ll a,ll b){return b==0 ? a : gcd(b,a%b); }int main(){int t;scanf("%d",&t);while (t--){int n;ll x,y;scanf("%d",&n);scanf("%lld%lld",&y,&x);x=x/gcd(x,y);for (int i=3;i<=n;i++){scanf("%lld",&y);x=x/gcd(x,y);}if (x==1) printf("YES");else printf("NO");printf("\n");}return 0;}


总结

1:实际上这道题关键还是是否能够构造出一种方案,就是一种贪心的策略。

分析题目的性质,将最优的方案构造出来


0 0