pku 2524

pku 2524

 1 #include < iostream >
 2 using   namespace  std;
 3 #define  N 50000
 4 int  parent[N],rank[N],h[N];
 5 int  init( int  x)
 6 {
 7 parent[x]=x;
 8 rank[x]=0;
 9 return 0;
10}

11 int  find( int  i)
12 {
13 if(parent[i]!=i)
14  parent[i]=find(parent[i]);
15 return parent[i];
16}

17 int  hebing( int  x, int  y)
18 {
19 x=find(x);
20 y=find(y);
21 if(x==y)
22  return y;
23 if(rank[x]<rank[y])
24 {
25  parent[x]=y;
26  return y;
27 }

28 else
29 {
30
31  parent[y]=x;
32  return x;
33  if(rank[x]=rank[y])
34  rank[x]++;
35  return x;
36 }

37}

38 struct  ss
39 {
40 int i;
41 int j;
42}
s[N];
43 int  main()
44 {
45
46 int m,n,k,sum,num,p;
47 while(cin>>n>>m)
48 {
49  num=0;
50  for(k=0;k<m;k++)
51  {
52   cin>>s[k].i>>s[k].j;
53   init(s[k].i);
54   init(s[k].j);
55   parent[s[k].j]=parent[s[k].i];
56  }

57
58  
59  sum=n+sum-num;
60  cout<<sum<<" "<<num<<" "<<n<<endl;
61 }

62 return 0;
63}

64

你可能感兴趣的:(pku 2524)