求助,不定点的RE和不定点的AC
查看原帖
求助,不定点的RE和不定点的AC
461452
SunLegend楼主2021/8/26 21:01

30到60分盘旋(看运气)

#include <bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
bool Cmp(int x,int y)
{
	return x<y;
}
int prime(int x)
{
	if(x==1) return 0;
	long long int k=sqrt(x);
	for(long long int i=2;i<=k;i++)
	{
		if(x%i==0) return 0;
	}
	return 1;
}

int main()
{
	int t,m,n;
	int mark;
	cin>>t;
	while(t--)
	{
		for(int i=0;i<=max(m,n);i++)
		{
			a[i]=0;
			b[i]=0;
		}
		cin>>n>>m;
		int i=1,j=1;
		while(i<=n)
		{
			cin>>a[i];
			if(a[i]==1)
			{
				i--;
				n--;
			}
			i++;
		} 
		while(j<=m)
		{
			cin>>b[j];
			if(b[j]==1)
			{
				j--;
				m--;
			}
			j++;
		}
		if(n-m>=2 || n==m)
		{
			printf("NO\n");
			continue;
		}
		sort(a+1,a+n+1,Cmp);
		sort(b+1,b+m+1,Cmp);
		mark=-1;
		for(int j=1;j<=m;j++)
		{
			if(a[j]!=b[j])
			{
				mark=j;
				break;
			}
		}
		if(mark==-1) mark=n;
		if(prime(a[mark])) printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}

2021/8/26 21:01
加载中...