#include<cstdio>
inline int max(int x,int y) {
return x>y?x:y;
}
struct node {
int fa,de,vi,ls,rs;
} tr[105];
inline int lca(int x,int y) {
tr[x].vi=1;
while(tr[x].fa) {
tr[tr[x].fa].vi=1;
x=tr[x].fa;
}
while(tr[y].vi!=1)
y=tr[y].fa;
return y;
}
int n,sum[105],ms=0;
int main() {
scanf("%d",&n);
tr[1].de=1,tr[1].fa=0;
int max_d=1;
for(int i=1; i<n; i++) {
int x,y;
scanf("%d%d",&x,&y);
tr[y].fa=x;
if(!tr[x].ls)
tr[x].ls=y;
else
tr[x].rs=y;
tr[y].de=tr[x].de+1;
max_d=max(max_d,tr[y].de);
}
int u,v;
scanf("%d%d",&u,&v);
int l=lca(u,v);
// cout<<l<<endl;
int s1=0,s2=0;
while(tr[u].fa!=l) {
u=tr[u].fa;
s1+=2;
}
s1+=2;
while(tr[v].fa!=l) {
v=tr[v].fa;
s2++;
}
s2+=1;
for(int i=1; i<=n; i++)
sum[tr[i].de]++;
// for(int i=1;i<=max_d;i++)
// cout<<sum[i]<<" ";
for(int i=1; i<=max_d; i++)
ms=max(ms,sum[i]);
printf("%d\n%d\n%d",max_d,ms,s1+s2);
return 0;
}
这为什么会Tle啊