zoukankan      html  css  js  c++  java
  • hdu2094—看似拓扑实际上是一道思维题

    HDU2094  产生冠军

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2094

    题意:中文题,就不解释了。题意已经非常清楚了。

    这道题的看起来像是一个拓扑排序的问题实际上拓扑感觉做不了,可能可以做了吧?但是我没想到,估计也比较麻烦吧。这里介绍一种比较简单的做法,就是一种思维,如果存在冠军(所有人都可以被他打败),这个人肯定没有败过,而其他人都败过,所以我们只需要确定所有人的人数,和败者的人数(去重以后,所以需要用set,因为一个败者会败给多个人,所以在多个对局中出现)。如果所有人的数量与败者的数量的差是1,说明存在冠军,否则,不存在,直接看代码吧!

    //Author: xiaowuga
    #include <bits/stdc++.h>
    #define maxx INT_MAX
    #define minn INT_MIN
    #define inf 0x3f3f3f3f
    const long long N=100;
    using namespace std;
    typedef long long L;
    set<string>a,b;
    int main() {
        ios::sync_with_stdio(false);cin.tie(0);
        int n;
        while(cin>>n&&n){
            a.clear();b.clear();
            for(int i=0;i<n;i++){
                string x,y;
                cin>>x>>y;
                a.insert(x);
                a.insert(y);
                b.insert(y);
            }
            if(a.size()-b.size()==1) cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
        return 0;
    }

    很简单的一道题,主要靠思维吧,感觉和拓扑没什么关系。

  • 相关阅读:
    [Leetcode] 225. Implement Stack using Queues
    前端面试题2
    数据结构_stack
    数据结构 station
    数据结构_wow(泡泡的饭碗)
    数据结构_XingYunX(幸运儿)
    数据结构 nxd(顺序对)
    数据结构 hbb(汉堡包)
    数据结构 elegant_sequence(优雅的序列)
    数据结构 i_love(我喜欢)
  • 原文地址:https://www.cnblogs.com/xiaowuga/p/7217071.html
Copyright © 2011-2022 走看看