我们发现,最多只能招待以下 7 7 7 个不同的食客:
所以我们只需要判断这 7 7 7 种情况即可。
唯一要注意的一点要先吃碟数多的,因为碟数多就意味着可能他能多组成几道菜。
例如:
a = 1 , b = 1 , c = 2 a=1,b=1,c=2 a=1,b=1,c=2。
那么如果来一套 a , b a,b a,b 餐,就不如 a , c ∥ b , c a,c\|b,c a,c∥b,c 各来一套。
#include
#include
using namespace std;
int d[5];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int cnt=0;
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
d[1]=a;
d[2]=b;
d[3]=c;
sort(d+1,d+4);
a=d[3];
b=d[2];
c=d[1];
//printf("%d %d %d\n",a,b,c);
if(a>0)
{
cnt++;
a--;
}
if(b>0)
{
cnt++;
b--;
}
if(c>0)
{
cnt++;
c--;
}
if(a>0&&b>0)
{
cnt++;
a--;
b--;
}
if(a>0&&c>0)
{
cnt++;
a--;
c--;
}
if(b>0&&c>0)
{
cnt++;
b--;
c--;
}
if(a>0&&b>0&&c>0)
{
cnt++;
a--;
b--;
c--;
}
printf("%d\n",cnt);
}
return 0;
}