Codeforces - 偶樹的切分

題目鏈接:Codeforces - 偶樹的切分


顯然貪心,能切就切。


AC代碼:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int n,res;
vector<int> g[N];
inline void add(int a,int b){g[a].push_back(b),g[b].push_back(a);}
int dfs(int x,int fa){
	int tmp=1;
	for(int to:g[x])	if(to!=fa)	tmp+=dfs(to,x);
	if(tmp%2==0)	return res++,0;
	return 1;
}
signed main(){
	cin>>n;
	for(int i=1,a,b;i<n;i++)	cin>>a>>b,add(a,b);
	dfs(1,0);
	cout<<res-1;
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章