Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#define N 100002struct node{int to,next;}e[2*N];int h[N];bool vis[N];int dist[N];int p,ans;void dfs(int v,int d){vis[v]=1;dist[v]=d;for(int i=h[v];i;i=e[i].next){int u=e[i].to;if(!vis[u]){dfs(u,d+1);}}}int ct;void adde(int u,int v){e[ct].to=v;e[ct].next=h[u];h[u]=ct++;e[ct].to=u;e[ct].next=h[v];h[v]=ct++;}int main(){int n;scanf("%d",&n);ct=1;for(int i=1;i<n;i++){