天天看点

AcWing 每日一题 3646. 分水果

原题链接

AcWing 每日一题 3646. 分水果

数据范围

1≤t≤500,

0≤a,b,c≤10

输入样例:

7

1 2 1

0 0 0

9 1 7

2 2 3

2 3 2

3 2 2

4 4 4

输出样例:

3

4

5

5

5

7

注意:每种水果最多一个!不要想复杂了QWQ(不要像我一样,早点看样例不好吗 )

这样最多只能有7种情况,也就是最多只能有7个小朋友分到水果(水果管够的情况下)

1 0 0

0 1 0

0 0 1

1 1 0

1 0 1

0 1 1

1 1 1

都判断一下就好了

AC代码:

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int a[3];
		scanf("%d %d %d",&a[0],&a[1],&a[2]);
		sort(a,a+3);
		int ans=0;
		if(a[0])ans++,a[0]--;
        if(a[1])ans++,a[1]--;
        if(a[2])ans++,a[2]--;
        if(a[2]&&a[1])ans++,a[2]--,a[1]--;
        if(a[2]&&a[0])ans++,a[2]--,a[0]--;
        if(a[1]&&a[0])ans++,a[1]--,a[0]--;
        if(a[0]&&a[1]&&a[2])ans++;
        printf("%d\n",ans);
	}
	return 0;
}