现在有 a a a 个苹果, b b b 个香蕉, c c c 个橘子。
你要将这些水果分给尽可能多的小朋友。
假设一个小朋友分到的苹果数量为 x x x,香蕉数量为 y y y,橘子数量为 z z z。
在分发水果时,需要满足:
请问,最多可以将水果分给多少个小朋友。
输入格式
第一行包含整数
T
T
T,表示共有
T
T
T 组测试数据。
每组数据占一行,包含三个整数 a , b , c a,b,c a,b,c。
输出格式
每组数据输出一行结果,表示可以分到水果的小朋友的最大数量。
数据范围
1
≤
t
≤
500
,
1≤t≤500,
1≤t≤500,
0
≤
a
,
b
,
c
≤
10
0≤a,b,c≤10
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
0
4
5
5
5
7
#include
using namespace std;
int q[10][5];
void init(){
for(int i = 1; i < 1 << 3; i++) {
q[i][0] = i & 1;
q[i][1] = i >> 1 & 1;
q[i][2] = i >> 2 & 1;
}
}
int main(){
int t;
cin >> t;
init();
int a, b, c;
while(t--){
cin >> a >> b >> c;
int sa, sb, sc, cnt;
int res = 0;
for(int i = 1; i < 1 << 7; i++){
sa = sb = sc = cnt = 0;
for(int j = 0; j < 7; j++){
if(i >> j & 1){
cnt++;
sa += q[j+1][0], sb += q[j+1][1], sc += q[j+1][2];
}
}
if(sa <= a && sb <= b && sc <= c) res = max(res, cnt);
}
cout << res << endl;
}
return 0;
}