比赛 |
20160902 |
评测结果 |
AAAAAAAATA |
题目名称 |
宗教信仰 |
最终得分 |
90 |
用户昵称 |
Mealy |
运行时间 |
1.460 s |
代码语言 |
C++ |
内存使用 |
0.50 MiB |
提交时间 |
2016-09-02 19:52:43 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
const int nmax=50086;
int n,m,s;
int p[nmax];
void create()
{
for(int i=1;i<=n;i++)
p[i]=i;
}
int find(int x)
{
if(x==p[x])
return x;
else
p[x]=find(p[x]);
return p[x];
}
void merge(int x,int y)
{
int px=find(x);
int py=find(y);
p[px]=py;
}
int main()
{
freopen("religion.in","r",stdin);
freopen("religion.out","w",stdout);
scanf("%d%d",&n,&m);
create();
for(int i=1;i<=m;i++)
{
int tmpa,tmpb;
scanf("%d%d",&tmpa,&tmpb);
if(find(tmpa)!=find(tmpb))
{
merge(tmpa,tmpb);
n--;
}
}
printf("%d",n);
return 0;
}