合并的问题,求大佬
查看原帖
合并的问题,求大佬
984679
illidan_楼主2023/7/27 20:57
#include <bits/stdc++.h>

using namespace std;

int fa[2002],n,m;

int se(int x)
{
    if(x==fa[x]) return x;
    return fa[x]=se(fa[x]);
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n*2;i++) fa[i]=i;
    while(m--)
    {
        char sw;
        int x,y;
        cin>>sw>>x>>y;
        if(sw=='F')
        {
                fa[se(x)]=se(y);
              //  fa[se(x+n)]=se(y+n);
        }
        else
        {
                //fa[se(x)]=se(y+n);
                fa[se(x+n)]=se(y);
                //fa[se(y)]=se(x+n);
                fa[se(y+n)]=se(x);
        }
    }
    int ans=0;
    for(int i=1;i<=n;i++)
    {
        if(i==fa[i]) ans++;
    }
    cout<<ans;
    return 0;
}

为什么加上注释掉的代码就wa了很多啊

2023/7/27 20:57
加载中...