• [ICPC2016上海L] World Cup


    [ICPC2016上海L] World Cup - 暴力

    Description

    有四支队伍参加比赛,两两对抗,总共要打6场比赛,给你四支队伍的最终得分,让你判断能否产生此种分数。如果能,是否唯一。赢一场,得3分,平一场,双方各得一分,败一场,得0分。

    Solution

    暴力枚举每种胜负情况即可

    #include <bits/stdc++.h>
    using namespace std;
    
    int caseid = 0;
    
    int ta, tb, tc, td;
    
    bool check(int ab, int ac, int ad, int bc, int bd, int cd)
    {
        int a = 0, b = 0, c = 0, d = 0;
        if (ab == 0)
            a++, b++;
        if (ab == 1)
            a += 3;
        if (ab == 2)
            b += 3;
    
        if (ac == 0)
            a++, c++;
        if (ac == 1)
            a += 3;
        if (ac == 2)
            c += 3;
    
        if (ad == 0)
            a++, d++;
        if (ad == 1)
            a += 3;
        if (ad == 2)
            d += 3;
    
        if (bc == 0)
            b++, c++;
        if (bc == 1)
            b += 3;
        if (bc == 2)
            c += 3;
    
        if (bd == 0)
            b++, d++;
        if (bd == 1)
            b += 3;
        if (bd == 2)
            d += 3;
    
        if (cd == 0)
            c++, d++;
        if (cd == 1)
            c += 3;
        if (cd == 2)
            d += 3;
    
        if (a == ta && b == tb && c == tc && d == td)
            return true;
        return false;
    }
    
    signed main()
    {
        ios::sync_with_stdio(false);
        int t;
        cin >> t;
        while (t--)
        {
            cin >> ta >> tb >> tc >> td;
            int cnt = 0;
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                    for (int k = 0; k < 3; k++)
                        for (int l = 0; l < 3; l++)
                            for (int m = 0; m < 3; m++)
                                for (int n = 0; n < 3; n++)
                                    cnt += check(i, j, k, l, m, n);
            ++caseid;
            cout << "Case #" << caseid << ": ";
            if (cnt == 0)
                cout << "Wrong Scoreboard" << endl;
            else if (cnt == 1)
                cout << "Yes" << endl;
            else if (cnt > 1)
                cout << "No" << endl;
        }
    }
    
  • 相关阅读:
    CSS实现返回网页顶部
    jQuery实现小火箭动态返回顶部代码
    Linux目录结构介绍
    Linux常用命令及技巧
    Linux文件系统
    Linux特性
    numpy中基础函数
    restful规范
    堆栈
    三次握手与四次挥手
  • 原文地址:https://www.cnblogs.com/mollnn/p/14667796.html
Copyright © 2020-2023  润新知