比赛 20160902 评测结果 AWWAWWWWTW
题目名称 宗教信仰 最终得分 20
用户昵称 Shirry 运行时间 1.491 s
代码语言 C++ 内存使用 0.80 MiB
提交时间 2016-09-02 21:36:23
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
int f[50004]={0};
int t[50004]={0};
int c[50004]={0};
int Find(int x){
	if(f[x]==x)return x;
	f[x]=Find(f[x]);
	return f[x];
}
void Merge(int x,int y){
	int f1=Find(x);
	int f2=Find(y);
	f[f2]=f1;
	c[f1]=1;
}
int main(){
	ifstream cin("religion.in");
	ofstream cout("religion.out");
	int n,m;
	int num=0,sum=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)f[i]=i;
	int a1,b1;
	for(int i=1;i<=m;i++){
		cin>>a1>>b1;
		t[a1]=1;
		t[b1]=1;
		Merge(a1,b1);
	}
	for(int i=1;i<=n;i++){
		if(c[i]==1)num++;
		if(t[i]==0)sum++;
	}
	cout<<num+sum;
	return 0;
}