rt,关于我做了一个题给我弹这个结果......自己运行没问题,别人那个题也能交,所以请求大佬看看我这种情况是什么原因,万分感谢
CF690C2
#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
using namespace std;
int n,m,ans=-1;
vector<int> edge[100010];
int DFS(int u,int from)
{
int Max=0,maxx=0,dis=0;
for(int i=0;i<edge[u].size();++i)
{
if(edge[u][i]==from)continue;
dis=DFS(edge[u][i],u);
if(dis>Max){maxx=Max;Max=dis;}
else if(dis>maxx)maxx=dis;
}
ans=max(ans,Max+maxx);
return Max+1;
}
int main()
{
cin>>n>>m;
for(int i=1,u,v;i<=m;++i)
{
scanf("%d%d",&u,&v);
edge[u].push_back(v);
edge[v].push_back(u);
}
DFS(1,0);
printf("%d\n",ans);
return 0;
}