大佬求条
查看原帖
大佬求条
1346358
0132linzixuan楼主2025/1/19 11:12

哪里死递归了

#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=1e5+10;
vector<int> G[N];
int d[N],maxn,vis,n,start;
int dfs(int u,int f){
	for(auto v:G[u]){
		if(v==f) continue;
		d[v]=d[u]+1;
		if(d[v]-d[start]>maxn){
			maxn=d[v]-d[start];
			vis=v;
		}
		dfs(v,u);
	}
}
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n-1;i++){
		int u,v;
		cin>>u>>v;
		G[u].emplace_back(v);
		G[v].emplace_back(u);
	}
	start=1;
	dfs(1,0);
	start=start;
	dfs(vis,0);
	cout<<maxn;
}

2025/1/19 11:12
加载中...