最后一个点TLE。。。╮(╯▽╰)╭
查看原帖
最后一个点TLE。。。╮(╯▽╰)╭
516867
SZnP楼主2021/8/24 21:48
#include <iostream>
#include <cstdio> 
using namespace std;
int v[50000];
bool ss(int a)
{
	if(v[a]!=-1)return v[a];
	if(a<=1){v[a]=0;return 0;}
	for(int i=2;i<a;i++)
	if(a%i==0){v[a]=0;return 0;}
	v[a]=1;
	return 1;
}
int main()
{
	memset(v,-1,sizeof(v));
	int n,imin=65536,jmin=65536,k;
	cin>>n;
	for(int i=0;i<=n;i++)
	for(int j=0;j<=n;j++)
	{
		if(n-i-j>=0&&ss(i)&&ss(j)&&ss(n-i-j))
		if(i<imin)
		{
			imin=i;
			jmin=j;
			k=n-i-j;
		}
		else
		if(i==imin&&j<jmin)
		{
			imin=i;
			jmin=j;
			k=n-i-j;
		}
	}
	printf("%d %d %d",imin,jmin,k);
	return 0;
}
2021/8/24 21:48
加载中...