zoukankan      html  css  js  c++  java
  • hdu 2094 产生冠军(STL,set)

    题目

    //把所有的出现的名字开始默认都为冠军(1),然后输了的置为0,表示不为冠军,最后统计不为0的,

    //当有且只有一个不为0的,这个就为冠军,否则,不能产生冠军.

    //以上思路来自别人的博客。。

    //set可以去重,所以这里用了set

    //set可以去重,并且自动排序
    //数set元素个数要用 s.size() 的啊
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<iostream>
    #include<string>
    #include<math.h>
    #include<set>
    using namespace std;
    
    //#define IN freopen("c:\Users\nit\desktop\input.txt", "r", stdin)    
    //#define OUT freopen("c:\Users\nit\desktop\output.txt", "w", stdout)   
    //int gcd(int a,int b){return b==0?a:gcd(b,a%b);}
    
    int main()
    {
        int n,i;
        string a,b;
        set<string>s1;
        set<string>s2;
        while(scanf("%d",&n),n)
        {
            s1.clear();
            s2.clear();
            for(i=0;i<n;i++)
            {
                cin>>a>>b;
                s1.insert(a);//
                s1.insert(b);//把所有的都放在s1
                s2.insert(b);//把输过的都放在s2
            }
            if(s1.size()- s2.size() == 1)//比较s1和s2的不重复元素个数
                printf("Yes
    ");
            else
                printf("No
    ");
        }
        return 0;
    }
    View Code
    一道又一道,好高兴!
  • 相关阅读:
    Ceph相关
    Redis学习
    docker mysql
    WebSocket学习与使用
    nginx学习与使用
    python学习小记
    基数计数——HyperLogLog
    Swagger使用小记
    理解Java枚举类型
    Jenkins使用
  • 原文地址:https://www.cnblogs.com/laiba2004/p/3819815.html
Copyright © 2011-2022 走看看