社区讨论

蒟蒻不会反集,借鉴了dalao的代码,结果才10分

P1892[BalticOI 2003] 团伙参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo1ax1bf
此快照首次捕获于
2023/10/22 18:03
2 年前
此快照最后确认于
2023/11/02 18:22
2 年前
查看原帖
CPP
#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;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...