[bzoj1385]Division expression
Posted pywbktda
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[bzoj1385]Division expression相关的知识,希望对你有一定的参考价值。
容易发现a2一定是分母,且容易做到其余都是分子,因此相当于判定a2能否整除a1*a3*……*an,不断让a2除以其与其他数的gcd即可(注意特判n=1)
1 #include<bits/stdc++.h> 2 using namespace std; 3 int t,n,s,x; 4 int gcd(int x,int y){ 5 if (!y)return x; 6 return gcd(y,x%y); 7 } 8 int main(){ 9 scanf("%d",&t); 10 while (t--){ 11 scanf("%d%d",&n,&x); 12 if (n==1){ 13 printf("YES "); 14 continue; 15 } 16 scanf("%d",&s); 17 s/=gcd(s,x); 18 for(int i=3;i<=n;i++){ 19 scanf("%d",&x); 20 s/=gcd(s,x); 21 } 22 if (s==1)printf("YES "); 23 else printf("NO "); 24 } 25 }
以上是关于[bzoj1385]Division expression的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ4421[Cerc2015] Digit Division 动态规划