題中先用並查集判定是否所有點都有聯絡,即能夠拼成乙個連通的無向圖。 再判定入度為零的點是否為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三者都不可能成為冠軍...