还是GESP5级蒟蒻……
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[100005],ans,tmp;
vector<int>v[100005];
bool vis[100005];
void dfs(int i){
for(auto t:v[i]){
if(vis[t])continue;
tmp++;
vis[t]=true;
dfs(t);
vis[t]=false;
}
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1,x,y;i<n;i++){
cin>>x>>y;
if(x>y)v[x].push_back(y);
else if(y>x)v[y].push_back(x);
}
for(int i=1;i<=n;i++,tmp=1){
memset(vis,false,sizeof vis);
dfs(i);
ans=max(tmp,ans);
}
cout<<ans;
return 0;
}
蒟蒻代码如上,WA+TLE,求dalao帮助!****