A-戦いの三角形(この暴力だけが生き残ることができますか?)

サイレント、最適化アルゴリズムがあると思ったのですが、結果は暴力的です。データが少なく、ICPCは絶対にこのようにはなりません(決定的な顔)

トピック

6本のスティックがある場合、3本のスティックを選択して三角形を形成し、残りの3本のスティックも三角形を形成できますか?
ここに画像の説明を挿入
入る

2
1 1 1 1 1 1
1 2 3 4 5 6

出力

Yes
No

ACコード

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a[10];ll b[10];ll c[10];
int main()
{
    
    
	int T;scanf("%d",&T);int flag=0;
	while(T--)
	{
    
    
		memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));
		for(int i=0;i<6;i++)
		scanf("%lld",&a[i]);
		flag=0;
		sort(a,a+6);
		for(int i=0;i<4;i++)
		{
    
    
			for(int j=i+1;j<5;j++)
			{
    
    
				for(int k=j+1;k<6;k++)
				{
    
    
					memset(b,0,sizeof(b));memset(c,0,sizeof(c));
					b[i]=b[j]=b[k]=1;int m=0;
					for(int l=0;l<6;l++)
					{
    
    
						if(!b[l])
						c[m++]=a[l];
					}
					if((a[i]+a[j]>a[k])&&(c[0]+c[1]>c[2]))
					{
    
    
						flag++;
					}

				}
			}
		}
		if(flag) printf("Yes\n");
		else printf("No\n");
	}
}

暴力は終わり、それをマークし、最初にデータサイズを見て、次に最適化するかどうかを決定します

おすすめ

転載: blog.csdn.net/DAVID3A/article/details/115037462