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