题目
MLE代码
#include<bits/stdc++.h>
using namespace std;
int n,m,f[4000005],op,u,v,ans;
int get(int x)
{
if(f[x]!=x)return x;
return (f[x]=get(f[x]));
}
signed main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)f[i]=i;
for(int i=1;i<=m;i++)
{
cin>>op>>u>>v;
if(!op)f[get(u)]=f[v];
else ans=ans*2+(get(u)!=get(v));
}
cout<<(ans%998244353);
return 0;
}