并查集RE9个,求调
查看原帖
并查集RE9个,求调
773747
yutong_Seafloor楼主2024/4/3 18:33

本地可过,除了第一个全RE,感觉数组也不小啊……

玄关

#include<bits/stdc++.h>
using namespace std;
int i,n,m,f[100010],x,y,ans;
char z;
int find(int x)
{
    if(f[x]==x)return x;
    else return f[x]=find(f[x]);
}
int main()
{
    cin>>n>>m;
    for(i=1;i<=2*n;i++)
    f[i]=i;
    for(i=1;i<=m;i++)
	{
        cin>>z>>x>>y;
        if(z=='F')
        f[find(x)]=find(y);
        else
        {
        	f[find(x+n)]=find(y);
        	f[find(y+n)]=find(x);
		}
    }
    for(i=1;i<=n;i++)
    if(f[i]==i)
    ans++;
    cout<<ans;
    return 0;
}
2024/4/3 18:33
加载中...