无语子,原本以为有优化算法的,结果暴力直接可以····数据小罢了,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");
}
}
暴力就完事了,标记一下,以后先看数据大小,再决定是否要优化