1. 程式人生 > >HDU2094 產生冠軍【set】

HDU2094 產生冠軍【set】

產生冠軍

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 19114    Accepted Submission(s): 8650


Problem Description有一群人,打乒乓球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。
球賽的規則如下:
如果A打敗了B,B又打敗了C,而A與C之間沒有進行過比賽,那麼就認定,A一定能打敗C。
如果A打敗了B,B又打敗了C,而且,C又打敗了A,那麼A、B、C三者都不可能成為冠軍。
根據這個規則,無需迴圈較量,或許就能確定冠軍。你的任務就是面對一群比賽選手,在經過了若干場撕殺之後,確定是否已經實際上產生了冠軍。

Input輸入含有一些選手群,每群選手都以一個整數n(n<1000)開頭,後跟n對選手的比賽結果,比賽結果以一對選手名字(中間隔一空格)表示,前者戰勝後者。如果n為0,則表示輸入結束。

Output對於每個選手群,若你判斷出產生了冠軍,則在一行中輸出“Yes”,否則在一行中輸出“No”。

Sample Input3 Alice Bob Smith John Alice Smith 5 a c c d d e b e a d 0
Sample OutputYes No

問題簡述

:參見上文。

問題分析

  比賽中互有勝負,將所有人放入一個集合中,輸的人放入另外一個集合中。只有唯一1個人沒有輸時,才產生冠軍。

程式說明

  程式中,使用STL的集合類來實現。

AC的C++語言程式如下:

/* HDU2094 產生冠軍 */

#include <iostream>
#include <string>
#include <set>

using namespace std;

int main()
{
    int n;
    set<string> all, lose;
    string Winner, loser;


    while(cin >> n && n != 0) {
        all.clear();
        lose.clear();

        while(n--) {
            cin >> Winner >> loser;

            all.insert(Winner);
            all.insert(loser);

            lose.insert(loser);
        }

        // 只有一人沒有輸,才有冠軍
        if(all.size() - lose.size() == 1)
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
    }

    return 0;
}


相關推薦

HDU2094 產生冠軍set

產生冠軍Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 19114    Accepted Submission(s

hdu2094產生冠軍(思維題)

產生冠軍 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 22557   &n

bzoj 1058: [ZJOI2007]報表統計set

我想寫FHQtreap的!是set自己跑進程式碼的!因為太好寫了 是有點慢……洛谷上不吸氧會T一個點 就是,用一個set p維護所有點值,ans維護MIN_SORT_GAP的答案,每次insert一個點的時候都查一下它在p裡的前驅後繼,更新一下ans即可;用一個multiset c維護差分後的序列,a[i]表

UVA136 Ugly Numbersset

問題簡述:不能被2、3和5以外的素數整除的數稱為醜數,找出第1500個醜數。 問題分析:醜數的因子只能是2、3和5,不能引入其他素數,那麼,兩個數(都不為1)相乘所得到的數字,肯定不是素數,而且也不能整除除了這兩個數之外的素數,因為沒有因子為該素數。即1是醜數,對於x,

UVA1595 UVALive3226 Symmetryset

The figure shown on the left is left-right symmetric as it is possible to fold the sheet of paper along a vertical line, drawn as a dashed

hdu2094 產生冠軍 拓撲排序

產生冠軍 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi

HDU2094-產生冠軍

產生冠軍                                                                             Time Limit: 1000/1000 MS (Java/Others)    Memory Limit

HDU2094產生冠軍

                                                                                 產生冠軍 Time Limit: 1000/1000 MS (Java/Others)    M

BZOJ4825[Hnoi2017]單旋 線段樹+set

http src end 發生 升序 root getc sin 技能 【BZOJ4825】[Hnoi2017]單旋 Description H 國是一個熱愛寫代碼的國家,那裏的人們很小去學校學習寫各種各樣的數據結構。伸展樹(splay)是一種數據結構,因為代碼好寫

bzoj2333[SCOI2011]棘手的操作 可並堆+STL-set

space efi ras 當前 ati blog log down ace 題目描述 有N個節點,標號從1到N,這N個節點一開始相互不連通。第i個節點的初始權值為a[i],接下來有如下一些操作: U x y: 加一條邊,連接第x個節點和第y個節點 A1 x v: 將

BZOJ2322[BeiJing2011]夢想封印 高斯消元求線性基+DFS+set

思考 包含 cst 計算 next 裏的 是否 異或和 無法使用 【BZOJ2322】[BeiJing2011]夢想封印 Description 漸漸地,Magic Land上的人們對那座島嶼上的各種現象有了深入的了解。 為了分析一種奇特的稱為夢想封印(Fanta

BZOJ3991[SDOI2015]尋寶遊戲 樹鏈的並+set

自己 成了 沒有 很好 amp oid void out next 【BZOJ3991】[SDOI2015]尋寶遊戲 Description 小B最近正在玩一個尋寶遊戲,這個遊戲的地圖中有N個村莊和N-1條道路,並且任何兩個村莊之間有且僅有一條路徑可達。遊戲開始時

Postgresqlset up

gad linu -1 min php linux. tor article gre https://www.howtoforge.com/tutorial/ubuntu-postgresql-installation/ https://linux.cn/article

bzoj1604[Usaco2008 Open]Cow Neighborhoods 奶牛的鄰居 並查集+Treap/STL-set

多少 aps stl oot 絕對值 cmp rac 維護 屬於 題目描述 了解奶牛們的人都知道,奶牛喜歡成群結隊.觀察約翰的N(1≤N≤100000)只奶牛,你會發現她們已經結成了幾個“群”.每只奶牛在吃草的時候有一個獨一無二的位置坐

BZOJ4373算術天才⑨與等差數列 線段樹+set

size true sam tput 組合 pre 無重復 second 希望 【BZOJ4373】算術天才⑨與等差數列 Description 算術天才⑨非常喜歡和等差數列玩耍。有一天,他給了你一個長度為n的序列,其中第i個數為a[i]。他想考考你,每次他會給出詢

bzoj2096[Poi2010]Pilots 雙指針法+STL-set

sca scan sof microsoft 區間最值 bzoj turn 區間 color 題目描述 Tz又耍畸形了!!他要當飛行員,他拿到了一個飛行員測試難度序列,他設定了一個難度差的最大值,在序列中他想找到一個最長的子串,任意兩個難度差不會超過他設定的最大值。耍畸形

BZOJ1316樹上的詢問 點分治+set

find hint name 維護 tdi log string cnblogs 每次 【BZOJ1316】樹上的詢問 Description 一棵n個點的帶權有根樹,有p個詢問,每次詢問樹中是否存在一條長度為Len的路徑,如果是,輸出Yes否輸出No. Input

bzoj1316樹上的詢問 樹的點分治+STL-set

stl 有根樹 cnblogs esp soft 題目 != font 離線 題目描述 一棵n個點的帶權有根樹,有p個詢問,每次詢問樹中是否存在一條長度為Len的路徑,如果是,輸出Yes否輸出No. 輸入 第一行兩個整數n, p分別表示點的個數和詢問的個數. 接下來n

BZOJ4548小奇的糖果 set(鏈表)+樹狀數組

style string output num true 感覺 100% 接下來 bzoj 【BZOJ4548】小奇的糖果 Description 有 N 個彩色糖果在平面上。小奇想在平面上取一條水平的線段,並拾起它上方或下方的所有糖果。求出最多能夠拾起多少糖果,使