比赛 20151026 评测结果 TTTTTTTTTW
题目名称 游历校园 最终得分 0
用户昵称 Kt820 运行时间 9.000 s
代码语言 C++ 内存使用 2.70 MiB
提交时间 2015-10-26 21:57:20
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int N,M,t;
int next[200005],last[200005],end[200005],tot;
bool mark[100005];
void add(int x,int y)
{
	end[++tot]=y;
	next[tot]=last[x];
	last[x]=tot;
}
void del(int p)
{
	int k=last[p];
	if(k)
	{
		while(mark[end[k]])k=next[k];
//		printf("%d\n",end[k]);
		mark[end[k]]=1;
		t++;
		del(end[k]);
	}
}	
int main()
{
	freopen("sent.in","r",stdin);
	freopen("sent.out","w",stdout);
	int i,j,k,x,y,ans=-1;
	scanf("%d%d",&N,&M);
	if(!M){printf("0\n");return 0;}
	for(i=1;i<=M;i++)
	{
		scanf("%d%d",&x,&y);
		add(x,y);
		add(y,x);
	}
	while(t<M)
	{
		for(i=1;i<=N;i++)if(!mark[i]){k=i;break;}
//		printf("-%d-\n",k);
		del(k);
		ans++;
	}
	printf("%d\n",ans);
	return 0;
}