现在的位置: 首页 > 综合 > 正文

1385: [Baltic2000]Division expression

2018年01月13日 ⁄ 综合 ⁄ 共 496字 ⁄ 字号 评论关闭

参看《算法竞赛入门经典训练指南》

#include<iostream>
#include<cstdio>
using namespace std;
inline int read(){
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
inline int gcd(int a,int b){return b?gcd(b,a%b):a;}
int d,n,t,a[10001];
int main(){
	d=read();
	for(int i=1;i<=d;i++){
		n=read();a[1]=read();t=read();
		for(int i=2;i<=n-1;i++)a[i]=read();
		for(int i=1;i<n;i++){
			t/=gcd(t,a[i]);
			if(t==1){printf("YES\n");break;}
		}
		if(t!=1)printf("NO\n");
	}
	return 0;
}

抱歉!评论已关闭.