比赛 防止浮躁的小练习v0.7 评测结果 WWWWWWWEEE
题目名称 食物链 最终得分 0
用户昵称 楚修 运行时间 1.965 s
代码语言 C++ 内存使用 0.56 MiB
提交时间 2016-10-27 15:44:48
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[100001],sum;
inline int find(int x)
{
	if(a[x]=x)return a[x];
	else a[x]=find(x);
}
inline void uniond(int x,int y)
{
int xx=find(x);
int yy=find(y);
if(xx!=yy)
a[xx]=a[yy];
}
int main()
{
freopen("chain_2016.in","r",stdin);
freopen("chain_2016.out","w",stdout);	
int n,m,s,d,w;
cin>>n>>m;
for(int i=1;i<=n;i++)
	a[i]=i;

for(int i=1;i<=m;i++)
{
cin>>s>>d;
uniond(s,d);
}
w=a[1];
for(int i=1;i<=m;i++)
{
if(a[i]!=w)
{
   w=a[i];
   sum++;
}
}
cout<<sum;
}