P1892 这道题
#include <iostream>
#include <cstdio>
using namespace std;
int n,m,fa[2505];
int find(int x)
{
if(fa[x]!=x)
{
fa[x]=find(fa[x]);
}
return fa[x];
}
inline void push(int x,int y)
{
int rx=find(x),ry=find(y);
if(rx!=ry)
{
fa[rx]=ry;
}
}
int main()
{
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1;i<=n*2;i++)
{
fa[i]=i;
}
for(int i=1;i<=m;i++)
{
char opt;
int a,b;
cin>>opt>>a>>b;
if(opt=='F')
{
push(a,b);
}
else
{
push(a+n,b); // push(b,a+n);
push(b+n,a); // push(a,b+n);
}
}
int ans=0;
for(int i=1;i<=n;i++)
{
ans+=fa[i]==i;
}
cout<<ans<<endl;
return 0;
}
为什么把有注释的那两行代码换成注释里的代码就 WA 了?