Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define maxn 105000#define inf 0x3f3f3f3f#define next nexusing namespace std;int n,tot=0;int imax=0,ans=0;int size[maxn];int head[maxn],next[maxn],edge[maxn];void join(int u,int v){edge[tot]=v;next[tot]=head[u]; head[u]=tot++;}void init(){memset(head,-1,sizeof(head));scanf("%d",&n);for (int k=1;k<n;++k){int x,y;scanf("%d%d",&x,&y);join(x,y);}}void dfs(int i,int deep)