比赛 20111109 评测结果 TTTTTTTWTW
题目名称 游历校园 最终得分 0
用户昵称 TBK 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-09 10:38:00
显示代码纯文本
#include <iostream>   
#include <cstdio>   
#include <cstdlib>   
#include <cmath>   
#include <cstring>   
#include <string>   
#include <algorithm>   
#include <iomanip>   
using namespace std;  
int a[700000][2],b,c,d,r[120000]={0},x,y,z,s=1;
int main(void)   
{   
    freopen ("sent.in","r",stdin);   
    freopen ("sent.out","w",stdout);   
	scanf("%d%d",&b,&c);
	for (d=0;d<c;d++) scanf("%d%d",&a[d][0],&a[d][1]);
	r[a[0][0]]=s;
	r[a[0][1]]=s;
	for (d=1;d<c;d++)
	{
		if (r[a[d][0]]!=0) 
		{
			if ((r[a[d][1]]!=0)&&(r[a[d][0]]!=r[a[d][1]]))
			{
				for (x=1;x<=b;x++)
					if (r[x]==r[a[d][1]]) r[x]=r[a[d][0]];
			}
			if (r[a[d][1]]==0) r[a[d][1]]=r[a[d][0]];
		}
		if (r[a[d][1]]!=0) 
		{
			if (r[a[d][0]]==0) r[a[d][0]]=r[a[d][1]];
		}
		if ((r[a[d][0]]==0)&&(r[a[d][1]]==0))
		{
			s++;
			r[a[d][0]]=s;
			r[a[d][1]]=s;
		}
	}
	cout<<s-1;
    fclose(stdin);   
    fclose(stdout);   
    return 0;   
}