題目地址:點擊打開鏈接
#includeusing namespace std; const int maxsize = 210; int f[maxsize]; int degree[maxsize]; int find_father(int x) { if(f[x]==-1||f[x]==-2) { f[x]=-1; return x; } else return find_father(f[x]); } void Union(int a,int b) { int father_a=find_father(a); int father_b=find_father(b); if(father_a!=father_b) f[father_a]=father_b; } int main() { int N,R; while(cin>>N>>R) { int i; for(i=0;i >a>>b; ++degree[a]; ++degree[b]; Union(a,b); } int num=0; for(i=0;i