#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define inf 1e18
const int mod=1e9+7;
const int N=2e5+5;
int n,m,ans;
vector<int>e[N];
int dfs(int u,int fa){
if(e[u].size()==1&&u!=1){
return 1;
}
int sum=0;
for(auto it:e[u]){
if(it!=fa){
sum+=dfs(it,u);
}
}
// cout<<u<<" "<<sum<<endl;
sum++;
if(sum%2==0){
ans+=sum-1;
return 0;
}
return sum;
}
void solve(){
cin>>n;
for(int i=1;i<n;i++){
int x,y;
cin>>x>>y;
e[x].push_back(y);
e[y].push_back(x);
}
if(n%2==1){
cout<<-1;
return;
}
dfs(1,-1);
// cout<<ans<<endl;
cout<<n-1-ans;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int tt=1;
// cin>>tt;
while(tt--) solve();
return 0;
}
小红的树上删边(贪心)--牛客周赛 Round 42-D
最新推荐文章于 2024-07-24 15:50:22 发布