Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<vector>using namespace std;int t,n,s,ff;int nn[100010];vector<int> v[100010];int dfs(int k,int f){int d,i,s=0,r=0;if(f!=-1&&v[k].size()==1){d=nn[k];if(nn[k]!=0){nn[k]--;ff=1;}return d!=0;}for(i=0;i<v[k].size();i++){if(v[k][i]==f) continue;s+=dfs(v[k][i],k);