0pts求调
查看原帖
0pts求调
1236701
dtbigwaves楼主2024/9/9 16:57

能过样例但是全WA

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long n,ver[N],tot=0,nxt[N],head[N],vis[N],d[N],u,v,ans=0;
void add(long long x,long long y){
	ver[++tot]=y;
	nxt[tot]=head[x];
	head[x]=tot;
}
void dp(long long x){
	vis[x]=1;
	for(long long i=head[x];i;i=nxt[i]){
		long long y=ver[i];
		if(vis[y]) continue;
		dp(y);
		ans=max(ans,d[x]+d[y]+1);
		d[x]=max(d[x],d[y]+1);
	}
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0);
	memset(head,0,sizeof(head));
	memset(vis,0,sizeof(vis));
	cin>>n;
	for(long long i=1;i<=n-1;i++){
		cin>>u>>v;
		add(u,v);
	}
	dp(1);
	cout<<ans; 
	return 0;
}
2024/9/9 16:57
加载中...