Cod sursa(job #2924427)
| Utilizator | Data | 2 octombrie 2022 12:44:54 | |
|---|---|---|---|
| Problema | Diametrul unui arbore | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#include <vector>
using namespace std;
vector <int> V[100005];
int p[100005],retin=0,maxx=0;
void DFS(int a,int k)
{
for(auto x:V[a])
{
if(p[x]==0)
{
p[x]=k;
retin=k;
maxx=max(maxx,k);
DFS(x,k+1);
}
}
}
int main()
{
ifstream cin("darb.in");
ofstream cout("darb.out");
int n,a,b;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b;
V[a].push_back(b);
V[b].push_back(a);
retin=b;
}
DFS(retin,1);
DFS(retin,1);
cout<<maxx+1;
return 0;
}
