Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <cctype>#include <string>#include <vector>#include <queue>#include <map>#include <stack>#include <set>#include <algorithm>#include <functional>using namespace std;#define N 1000005vector<int>gra[N];int ans,w[N];int x;void dfs(int u,int f){for(int i=0;i<gra[u].size();i++){int v=gra[u][i];if(v!=f){if(w[v]!=0)w[v]--,w[u]++;dfs(v,u);}}}int main(){int t,cs,a,b,n,i;