蒟蒻不会反集,借鉴了dalao的代码,结果才10分
查看原帖
蒟蒻不会反集,借鉴了dalao的代码,结果才10分
625047
100206lbm楼主2023/9/24 11:25
#include<bits/stdc++.h>
using namespace std;
int father[2005];
int n, m, cnt = 0;
char c;
int x, y;
int find(int x)
{
    if(father[x] != x)  father[x] = find(father[x]);
    return father[x];
}
void uni(int x, int y)
{
    x = find(x), y = find(y);
    if(father[x] == father[y])  return;
    father[y] = x;
}
int main()
{
    cin >> n >> m;
    for(int i = 1; i <= 2 * n; i++)
    {
        father[i] = i; 
    }
    for(int i = 1; i <= m; i++)
    {
        cin >> c >> x >> y;
        if(c == 'F')    uni(x, y);
        else
        {
            uni(x+n, y);
            uni(y+n, x);
        }
    }
    for(int i = 1; i <= n; i++)
    {
        if(father[i] == i)  cnt++;
    }
    cout << cnt << endl;
    return 0;
}
2023/9/24 11:25
加载中...