Cod sursa(job #3293728)
| Utilizator | Data | 12 aprilie 2025 13:49:25 | |
|---|---|---|---|
| Problema | Diametrul unui arbore | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
vector<int>v[100005];
int max1=0,ndmx;
void dfs(int nd,int lst,int ad)
{
for(auto i:v[nd])
{
if(i!=lst)
dfs(i,nd,ad+1);
}
if(ad>max1)
{
max1=ad;
ndmx=nd;
}
}
int main()
{
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);
}
dfs(1,1,1);
max1=0;
dfs(ndmx,ndmx,1);
cout<<max1;
return 0;
}
