Fast Food Restaurant

Tired of boring office work, Denis decided to open a fast food restaurant.

On the first day he made a portions of dumplings, b portions of cranberry juice and c pancakes with condensed milk.

The peculiarity of Denis’s restaurant is the procedure of ordering food. For each visitor Denis himself chooses a set of dishes that this visitor will receive. When doing so, Denis is guided by the following rules:

every visitor should receive at least one dish (dumplings, cranberry juice, pancakes with condensed milk are all considered to be dishes);
each visitor should receive no more than one portion of dumplings, no more than one portion of cranberry juice and no more than one pancake with condensed milk;
all visitors should receive different sets of dishes.
What is the maximum number of visitors Denis can feed?

Input
The first line contains an integer t (1≤t≤500) — the number of test cases to solve.

Each of the remaining t lines contains integers a, b and c (0≤a,b,c≤10) — the number of portions of dumplings, the number of portions of cranberry juice and the number of condensed milk pancakes Denis made.

Output
For each test case print a single integer — the maximum number of visitors Denis can feed.

Example

input
7
1 2 1
0 0 0
9 1 7
2 2 3
2 3 2
3 2 2
4 4 4
output
3
0
4
5
5
5
7

Note
In the first test case of the example, Denis can feed the first visitor with dumplings, give the second a portion of cranberry juice, and give the third visitor a portion of cranberry juice and a pancake with a condensed milk.

In the second test case of the example, the restaurant Denis is not very promising: he can serve no customers.

In the third test case of the example, Denise can serve four visitors. The first guest will receive a full lunch of dumplings, a portion of cranberry juice and a pancake with condensed milk. The second visitor will get only dumplings. The third guest will receive a pancake with condensed milk, and the fourth guest will receive a pancake and a portion of dumplings. Please note that Denis hasn’t used all of the prepared products, but is unable to serve more visitors.
这道题都能卡我QAQ

#include<bits/stdc++.h>

using namespace std;
const int N = 3;
vector<vector<int>> sch[4];
int T, a[4];

int main() {
    for (int t = 1; t < 1 << N; t++) {
        vector<int> ce;
        for (int i = 0; i < N; i++)
            if ((t >> i) & 1)ce.push_back(i + 1);
        sch[ce.size()].push_back(ce);
    }
    scanf("%d", &T);
    while (T--) {
        for (int i = 1; i <= N; i++)
            scanf("%d", &a[i]);
        sort(a + 1, a + 4, greater<int>());
        int cnt = 0;
        for (int j = 1; j <= N; j++)
            for (auto &k : sch[j]) {
                bool suc = true;
                for (auto l:k)
                    if (!a[l]) {
                        suc = false;
                        break;
                    }
                if (suc) {
                    cnt++;
                    for (auto it:k)a[it]--;
                }
            }
        printf("%d\n", cnt);
    }
    return 0;
}
发布了360 篇原创文章 · 获赞 28 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45323960/article/details/105292177