比赛 20160902 评测结果 AAAAAAAATA
题目名称 宗教信仰 最终得分 90
用户昵称 AAAAAAAAAA 运行时间 1.396 s
代码语言 C++ 内存使用 0.45 MiB
提交时间 2016-09-02 19:28:05
显示代码纯文本
#include<fstream>
using namespace std;
int f[50001];
void memset(int n){
	for(int i=1;i<=n;i++){
		f[i]=i;}}
int findf(int x){
	if(x!=f[x]){
		f[x]=findf(f[x]);}
	return f[x];}
void merge(int x,int y){
	int xx=findf(x);
	int yy=findf(y);
	f[xx]=yy;}
int main(){
	ifstream fin("religion.in");
	ofstream fout("religion.out");
	int n,ans=0,i,m,x,y;
	fin>>n>>m;
	memset(n);
	for(i=0;i<m;i++){
		fin>>x>>y;
		merge(x,y);}
	for(i=1;i<=n;i++){
		if(f[i]==i){
			ans++;}}
	fout<<ans;
	return 0;
}