洛谷 P4752 Divided Prime

题目其实很简单,主要坑点是 数组中的 1
代码:

#include
using namespace std;

typedef long long ll;
const int maxn=200000+100;

int prime[maxn],tot;
bool isprime[maxn];

ll a[maxn],b[maxn];

void init(){
	
	for(int i=0;i=2+onea-oneb || n==m) printf("NO\n"); //多于两个及以上不为1的数就肯定不是素数了
		else{
			
			ll num=0;
			for(int i=1;i<=n;i++) if(a[i]!=1) num^=a[i];
			for(int i=1;i<=m;i++) if(b[i]!=1) num^=b[i];
			bool isok=true;
			for(int i=0;inum) break;
				if(num%prime[i]==0) isok=false;
			}
			if(num && isok) printf("YES\n"); //num!=0
			else printf("NO\n");
		}
	}
} 

你可能感兴趣的:(ACM,洛谷)