Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<stdio.h>#include<string.h>const int maxn=10000+10;int n,m;int p[maxn];int cnt_in[maxn],cnt_out[maxn],cnt_dushu[maxn];int cha(int x){return p[x]==x?x:cha(p[x]);}void bing(int x,int y){x=cha(p[x]);y=cha(p[y]);if(x!=y)p[x]=y;}int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)p[i]=i;memset(cnt_dushu,0,sizeof(cnt_dushu));for(int i=0;i<m;i++){int u,v;scanf("%d%d",&u,&v);cnt_dushu[v]++;cnt_dushu[u]++;bing(u,v);}