WA on #7 玄关
查看原帖
WA on #7 玄关
1036685
hehehy楼主2024/5/24 17:28
#include<bits/stdc++.h>
using namespace std;
int n,m,a,b,f[1000005],fa[1000005],cao[1000005],cnm[1000005],cnt,ans,k;
bool fuck[1000005],ccf[1000005];
int find(int x){
	if(x==fa[x]){
		return x;
	}
	return fa[x]=find(fa[x]);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}
	for(int i=1;i<=m;i++){
		cin>>a>>b;
		f[a]++,f[b]++;
		fa[find(a)]=find(b);
	}
	for(int i=1;i<=n;i++){
		if(!fuck[find(i)]){
			cnm[++cnt]=find(i);
			cao[find(i)]=cnt;
			fuck[find(i)]=1;
		}
		cao[i]=cao[find(i)];
		if(f[i]%2){
			ccf[cao[i]]=1;
			k++;
		}
	}
	if(cnt==1){
		cout<<k/2;
		return 0;
	}
	for(int i=1;i<=cnt;i++){
		if(!ccf[i]){
			ans+=2;
		}
	}
	cout<<(ans+k)/2;
} 
2024/5/24 17:28
加载中...