Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>#include<algorithm>#include<vector>using namespace std;vector<int> node[100005];int num[100005];int dfs(int u,int v){num[u]=1;for(int i=0;i<node[u].size();i++){int tmp=node[u][i];if(tmp==v) continue;num[u]+=dfs(tmp,u);}return num[u];}int main(){int n,i,ans=0,x,y;scanf("%d",&n);for(i=1;i<n;i++){scanf("%d%d",&x,&y);node[x].push_back(y);node[y].push_back(x);}dfs(1,-1);for(i=1;i<=n;i++)if(num[i]%2==0) ans++;