a,b,c表示长度为2,3,4的木棍个数 然后题目要求是求最多能组成多少根长度为10的木棍 样例都过了但是wa了qwq 应该是 334 244 2233 2224 22222 为最优解
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t;
scanf("%d",&t);
long long a,b,c;//依次表示长度为2,3,4的木棍
int i;
long long x;//结果
for(i=0;i<t;i++)
{
x=0;
scanf("%lld%lld%lld",&a,&b,&c);
if(b==0&&c==0)
{
x=(a-a%5)/5;
printf("%d\n",x);
}
else if((a==0&&b==0)||(a==0&&c==0))
{
x=0;
printf("%d\n",x);
}
else
{
if(b>=2*c)
{
x+=c;
b-=2*c;
c=0;
}
else if(b<2*c)
{
x+=(b-b%2)/2;
c-=(b-b%2)/2;
b=b%2;
}
if(c>=2*a)
{
x+=a;
c-=2*a;
a=0;
}
else if(c<2*a)
{
x+=(c-c%2)/2;
a-=(c-c%2)/2;
c=c%2;
}
if(a>=b)
{
x+=b/2;
a-=(b-b%2);
b=b%2;
}
else if(a<b)
{
x+=a/2;
b-=(a-a%2);
a=a%2;
}
if(a>=3*c)
{
x+=c;
a-=3*c;
c=0;
}
else if(a<3*c)
{
x+=(a-a%3)/3;
c-=(a-a%3)/3;
a=a%3;
}
if(a>=5)
{
x+=(a-a%5)/5;
a=a%5;
}
printf("%lld\n",x);
}
}
return 0;
}