比赛 20151026 评测结果 AAWWWWWWAW
题目名称 游历校园 最终得分 30
用户昵称 0 运行时间 0.543 s
代码语言 C++ 内存使用 12.61 MiB
提交时间 2015-10-26 21:35:10
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<vector>

#define maxn 100010
#define maxm 500010

using namespace std;

int n,m,tot=1,b[maxn],s,t,Ans,d[maxn];
bool vis[maxn];
vector<int> A;

class  at{
	public :
		int x,y,last;
}a[maxm<<1];

void add(int x,int y)
{
	tot++;
	a[tot].x=x;
	a[tot].y=y;
	a[tot].last=b[x];
	b[x]=tot;	
}

void dfs(int x)
{
	vis[x]=1;A.push_back(x);
	for(int i=b[x];i;i=a[i].last){
		if(!vis[a[i].y]){
			dfs(a[i].y);
		}
	}
}

int main()
{
	freopen("sent.in","r",stdin);
	freopen("sent.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		d[x]++;d[y]++;
		add(x,y);add(y,x);
	}
	for(int i=1;i<=n;i++){
		if(d[i]&1){
			s++;
		}
	}
	if(s>2) Ans=s/2;
	else	Ans=0;
	printf("%d",Ans);
	/*for(int i=1;i<=n;i++){
		memset(used,0,sizeof(used));
		t=s=0;
		dfs(i);
		if(t<Ans){
			Ans=t; 
		}
	}
	printf("%d",Ans);*/
	return 0;
}