题解:CF1933D Turtle Tenacity: Continual Mods

思路:

此题其实很简单,不要被邪恶的出题人迷惑了双眼。

此题判断有解一共有两种情况。

通过题意可以知道将原数组排序后如果 b1b2b_{1} \ne b_{2},那么最后的结果一定 0\ne 0,这是第一种情况。

第二种情况其实就是第一种情况的变形,在排序后 b1=b2b_{1} = b_{2} 的情况下,如果 bb 中有一个数 modb10\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;
}
posted @ 2024-03-15 19:01  IOI_official  阅读(12)  评论(0)    收藏  举报  来源