比赛 至少完成十道练习 评测结果 AAAAAAAAAA
题目名称 宗教信仰 最终得分 100
用户昵称 小字、小瓶子 运行时间 1.179 s
代码语言 C++ 内存使用 0.50 MiB
提交时间 2017-05-22 13:21:05
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int a[50010];
int find(int x)
{
if (a[x] != x)
return a[x]=find(a[x]);
return a[x];
}
void unionn(int x,int y)
{
x = find(x);
y = find(y);
a[y] = x;
}
int main()
{
freopen("religion.in", "r", stdin);
freopen("religion.out", "w", stdout);
int n, m, x, y,sum=0;
cin >> n >> m;
for (int i = 1; i <= n; i++)
a[i] = i;
for (int i = 0; i < m; i++)
{
scanf("%d%d", &x, &y);
unionn(x, y);
}
for (int i = 1; i <= n; i++)
{
if (a[i] == i)
sum++;
}
cout << sum;
return 0;
}