记录编号 228035 评测结果 AAAAAAAAAA
题目名称 爆炸化合物 最终得分 100
用户昵称 GravatarSOBER GOOD BOY 是否通过 通过
代码语言 C++ 运行时间 0.257 s
提交时间 2016-02-19 06:27:03 内存使用 0.63 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100100;
int Findroot(int);
void hebing(int,int);
int a[maxn];
int n;
int main()
{
	freopen("explosion.in","r",stdin);
	freopen("explosion.out","w",stdout);
	for(int i=0;i<maxn;i++)
	{
		a[i]=i;
	}
	int x,y;
	int tot=0;
		while(scanf("%d",&x),x!=-1)/*&&x!=-1*/
		{
			scanf("%d",&y);
			//printf("  %d%d\n",x,y);
		if(Findroot(x)==Findroot(y)) {
		tot++;
		continue;
		} 
		else hebing(x,y);//printf("%d\n",tot);
		}
		//getchar();
	printf("%d\n",tot);
	return 0;
}
int Findroot(int x)
{
	if(a[x]!=x) a[x]=Findroot(a[x]);
	return a[x];
}
void hebing(int x,int y)
{
	x=Findroot(x);
	y=Findroot(y);
	a[x]=a[y];
}