思路:
此题其实很简单,不要被邪恶的出题人迷惑了双眼。
此题判断有解一共有两种情况。
通过题意可以知道将原数组排序后如果 \(b_{1} \ne b_{2}\),那么最后的结果一定 \(\ne 0\),这是第一种情况。
第二种情况其实就是第一种情况的变形,在排序后 \(b_{1} = b_{2}\) 的情况下,如果 \(b\) 中有一个数 \(\bmod b_{1} \ne 0\),就可以把这个数放在第一位来满足第一种情况,所以输出 YES。
除这两种情况外其它都无解。
AC 代码:
#include <iostream>
#include <algorithm>
using namespace std;
int n,a[114514],m;
bool f;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>m;
for(int j=1; j<=m; j++){
cin>>a[j];
}
sort(a+1,a+m+1);
if(a[1]!=a[2]) {
cout<<"YES"<<endl;
continue;
}
else {
f=0;
for(int j=2; j<=m; j++){
if(a[j]%a[1]!=0){
f=1;
}
}
if(f==1){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
}
return 0;
}
标签:Turtle,第一种,Mods,int,ne,CF1933D,情况,Tenacity,Continual
From: https://www.cnblogs.com/IOI-officialaccount/p/18144011