记录编号 |
302270 |
评测结果 |
AAAAAAAAAA |
题目名称 |
宗教信仰 |
最终得分 |
100 |
用户昵称 |
Mealy |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.127 s |
提交时间 |
2016-09-03 19:02:41 |
内存使用 |
0.15 MiB |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
const int nmax=50086;
int n,m,s;
int p[nmax];
inline void create()
{
for(int i=1;i<=n;i++)
p[i]=i;
}
inline int find(int x)
{
if(x==p[x])
return x;
else
p[x]=find(p[x]);
return p[x];
}
inline void merge(int x,int y)
{
int px=find(x);
int py=find(y);
p[px]=py;
}
inline int Excited()
{
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--;
if(n==1)
{
printf("1\n");
return 0;
}
}
}
printf("%d",n);
return 0;
}
int XD=Excited();
int main(){;}