Карткова гра Насіра#12347

Карткова гра Насіра (Розбір)

Автор задачі:

Мохаммад Насер (MOAGEZA)

Підготовлено:

Мохаммад Насер (MOAGEZA)

Редаговано:

Хасан Салех (MathModel)

Розв'язання

Загальна ідея: Є рівно червоних карт в загальному. Якщо три гравці повідомляють, що мають , та червоних карт, тоді четвертий гравець повинен мати:

7 - (a + b + c)

червоних карт.

Гра повинна перезапуститися, якщо **будь-який** гравець має принаймні червоних карт. Тому ми просто обчислюємо максимальне значення серед чотирьох гравців:

\max(a, b, c, 7 - (a + b + c))

Якщо це значення , перезапуск гарантований; в іншому випадку він не потрібний.

Розв'язання виконується за час на кожен тестовий випадок.

#include <bits/stdc++.h>
using namespace std;

void solve(){
    int a,b,c;
    cin>>a>>b>>c;
    int mx = max({a,b,c,7-(a+b+c)});
    if(mx>=5) cout<<"YES";
    else cout<<"NO";
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    cin>>t;
    while(t--){
        solve();
        cout<<'\n';
    }
}