zoukankan      html  css  js  c++  java
  • hdu 2094 产生冠军

    产生冠军

     思路:这道题,先读题分析,我们可以知道,为了产生冠军,会进行两两比赛,让我们寻找一种办法判断是否产生冠军,既然提到了方法,那么意味着,必有一个简便方法来判断是否有冠军,因为,两两发生比赛,一个人可能产生多场比赛,但是,我们换成一下思路,什么是冠军,冠军即使唯一没输过的人,所以,当全部人数-输掉的人数=1时,即产生了冠军。此时,分析到这里,我们也可以判断使用set容器,不录入重复。

    代码:

    #include<iostream>
    #include<set>
    #include<string>
    using namespace std;
    
    int main(){
    
        int n;
        while (cin >> n&&n){
            string a, b;
            set<string> s1, s2;
            for (int i = 0; i < n; i++){
                cin >> a >> b;
                s1.insert(a);
                s1.insert(b);
                s2.insert(b);
            }
            if (s1.size() - s2.size() == 1){
                cout << "Yes" << endl;
            }
            else{
                cout << "No" << endl;
            }
        }
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    java-day21
    java-day20
    java-day19
    java-day18
    java-day17
    java-day16
    java-day15
    java-day14
    python-day06
    java-day13
  • 原文地址:https://www.cnblogs.com/pcdl/p/12369344.html
Copyright © 2011-2022 走看看