P8550 冬之花 题解

读题点 这里

思路分析

我们可以发现,只有当 aia_{i} 只有一个, xx 能被 aia_{i} 整除且 aia_{i}xx 异号时,才无法完成 1010010^{100} 次操作。

那么,我们只要筛出无法完成操作的情况,剩下的便一定能够完成操作。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<bits/stdc++.h>
using namespace std;

int T,n,x,a[10];

int main(){
cin>>T;
while(T--){
cin>>n>>x;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);//去重前要对数组先排序
int l=unique(a+1,a+n+1)-a-1;//去重并求出去重后数组的长度
if(l==1&&x%a[1]==0&&x*a[1]<0) cout<<"No"<<endl;//判断是否仅有一个ai,x能被ai整除且x和ai异号
else cout<<"Yes"<<endl;
}
return 0;
}