HDU2094,產生冠軍

2021-09-26 00:11:40 字數 608 閱讀 5249

這道題關鍵是理解好題意吧。。。wa了很多次後,看了討論區才知道題要求的是什麼。其實題意是要你判斷在贏的一方中,存在乙個人不在輸的一方,當這樣的人不存在或者有多個時就不能產生冠軍。

我覺得這題就是很蜜汁的題,題意沒講清,邏輯也很神,比如這個樣例:

41 2

2 33 1

4 5要輸出"yes",因為4贏了而且不在輸的一方。這邏輯也太那神了吧,4都不用跟1,2,3打,就判為冠軍。真的無語。。。。

#include#include#include#include#include#include#include#include#includeusing namespace std;

const int inf=0x3f3f3f3f;

sets1,s2;

int main()

for(set:: iterator it=s1.begin(); it!=s1.end(); ++it)

if(!cnt||cnt>=2) cout<<"no\n";

else cout<<"yes\n";

s1.clear(); s2.clear();

}return 0;

}

HDU 2094 產生冠軍

problem description 有一群人,打桌球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。球賽的規則如下 如果a打敗了b,b又打敗了c,而a與c之間沒有進行過比賽,那麼就認定,a一定能打敗c。如果a打敗了b,b又打敗了c,而且,c又打敗了a,那麼a b c三者都不可能成為冠軍。根據這個...

Hdu 2094 產生冠軍

有一群人,打桌球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。球賽的規則如下 如果a打敗了b,b又打敗了c,而a與c之間沒有進行過比賽,那麼就認定,a一定能打敗c。如果a打敗了b,b又打敗了c,而且,c又打敗了a,那麼a b c三者都不可能成為冠軍。根據這個規則,無需迴圈較量,或許就能確定冠軍。你...

HDU 2094產生冠軍

產生冠軍 problem description 有一群人,打桌球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。球賽的規則如下 如果a打敗了b,b又打敗了c,而a與c之間沒有進行過比賽,那麼就認定,a一定能打敗c。如果a打敗了b,b又打敗了c,而且,c又打敗了a,那麼a b c三者都不可能成為冠軍...