#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[1009];
int f[1009];
int findx(int x)
{
if(f[x]!=x)f[x]=findx(f[x]);
return f[x];
}
void unionn(int r1,int r2)
{
int t1=findx(r1);
int t2=findx(r2);
f[t1]=t2;
}
int main()
{
int num=0;
int m,n;
scanf("%d%d",&m,&n);
int x,y,z;
for(int i=1;i<=m;i++)
f[i]=i;
for(int i=1;i<=n;i++)
{
scanf("%d%d%d",&x,&y,&z);
if(x==0)
unionn(y,z);
if(x==1)
{
if(a[y]==0)
a[y]=z;
if(a[z]==0)
a[z]=y;
unionn(z,a[y]);
unionn(y,a[z]);
}
}
for(int i=1;i<=m;i++)
if(f[i]==i)num++;
printf("%d",num);
return 0;
}
1385:团伙(group)
最新推荐文章于 2024-05-15 14:15:06 发布