Решение задачи Ресторан быстрого питания с Codeforces

Без пояснения   Просмотров: 43


Устав от скучной работы в офисе, Денис решил открыть ресторан быстрого питания.

В первый день день он приготовил a порций пельменей, b стаканов морса и c блинчиков со сгущённым молоком.

Особенностью ресторана Дениса является процедура заказа еды. Для каждого посетителя Денис сам выбирает набор блюд, который он получит. При выборе набора блюд Денис руководствуется следующими правилами:

каждый посетитель получит хотя бы одно блюдо (блюдами считаются пельмени, морс, блинчики со сгущёнкой);
каждый посетитель получит не более одной порции пельменей, не более одного стакана морса и не более одного блинчика со сгущённым молоком;
все посетители получат разные наборы блюд.
Какое максимальное количество посетителей сможет накормить Денис?

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t;
    cin >> t;
    for(int i = 0; i < t; ++i){
    int a, b, c, k = 0;
    cin >> a >> b >> c;
    vector<int> d;
    d.push_back(a);
    d.push_back(b);
    d.push_back(c);
    sort(d.begin() ,d.end());
    a = d[0]; b = d[1]; c = d[2];
    if(a){
        ++k;
        --a;
    }
    if(b){
        ++k;
        --b;
    }

    if(c){
        ++k;
        --c;
    }

    if(a && c){
        ++k;
        --a; --c;
    }

    if(a && b){
        ++k;
        --a; --b;
    }
    if(b && c){
        ++k;
        --b; --c;
    }
    if(a && b && c){
        ++k;
        --a; --b; --c;
    }
    cout << k << endl;
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться