这会RE?
#include<iostream>
#include<cmath>
#include<ctime>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstdlib>
//#pragma GCC optimize(2)
using namespace std;
int fa[1001+1000],ans,n,m;
bool b[1001+1000];
int find(int a)
{
if(fa[a]==a)return a;
return fa[a]=find(fa[a]);
}
void join(int a,int b)
{
int f1=find(a),f2=find(b);
if(f1==f2)return;
fa[f2]=f1;
}
int main()
{
// freopen("group.in","r",stdin);
// freopen("group.out","w",stdout);
cin>>n>>m;
memset(b,false,sizeof b);
for(int i=1;i<=2*n;i++)
{
fa[i]=i;
}
for(int i=1;i<=m;i++)
{
int p;
cin>>p;
int j,k;
cin>>j>>k;
if(p==0)
{
join(j,k);
}
else
{
join(j+n,k);
join(j,k+n);
}
}
for(int i=1;i<=n;i++)
{
if(!b[find(i)])
{
b[find(i)]=1;
ans++;
}
}
cout<<ans;
return 0;
}