Cod sursa(job #2163461)
Utilizator | Data | 12 martie 2018 18:21:34 | |
---|---|---|---|
Problema | Diametrul unui arbore | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int a[10001][10001],n,i,j,x,y,maxi,poz;
bool viz[100001];
void dfs(int cost,int nod)
{ viz[nod]=true;
if(cost>maxi)
{ maxi=cost;
poz=nod;
}
for(i=1;i<=n;i++)
if(a[nod][i]==1 && viz[i]==false)
dfs(cost+1,i);
}
int main()
{ f>>n;
for(i=1;i<=n;i++)
{ f>>x>>y;
a[x][y]=a[y][x]=1;
}
dfs(1,1);
g<<maxi<<" ";
for(i=1;i<=n;i++)
viz[i]=false;
dfs(1,poz);
g<<maxi;
return 0;
}