HDU 2094 產生冠軍

2021-09-06 03:54:39 字數 568 閱讀 2419

題中先用並查集判定是否所有點都有聯絡,即能夠拼成乙個連通的無向圖。 再判定入度為零的點是否為1即可。

**如下:

#include #include char name[2010][50];

int cnt, n, dg[2010], hash[2010], set[2010];

int find( char *n )

} strcpy( name[cnt], n );

return cnt++; // 在return的時候把cnt自增

}int find( int x )

void merge( int x, int y )

int main( )

for( int i= 1; i<= n; ++i )

dg[b]++;

} if( edge!= cnt- 1 )

int ****= 0;

for( int i= 0; i< cnt; ++i )

}printf( ****== 1? "yes\n": "no\n" );

}}

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三者都不可能成為冠軍...