這道題關鍵是理解好題意吧。。。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三者都不可能成為冠軍...