Pagini recente » Cod sursa (job #635025) | Cod sursa (job #788353) | Cod sursa (job #2557461) | Cod sursa (job #2919953) | Cod sursa (job #2350805)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
int n;
bool viz[100005];
struct nod
{
int v;
nod* next;
}*a[100005];
int adanc=0,maxi=0,nodadanc;
void dfs(int x)
{
for (nod* i=a[x];i;i=i->next)
if (!viz[i->v])
{
viz[i->v]=true;
adanc++;
if (adanc>maxi)
{
maxi=adanc;
nodadanc=i->v;
}
dfs(i->v);
adanc--;
}
}
int main() {
fin>>n;
for (int v=0;v<n-1;v++)
{
int x,y;
fin>>x>>y;
nod* nou=new nod;
nou->v=y;
nou->next=a[x];
a[x]=nou;
nou=new nod;
nou->v=x;
nou->next=a[y];
a[y]=nou;
}
dfs(1);
adanc=0;
maxi=0;
for (int i=0;i<=n;i++)
viz[i]=false;
dfs(nodadanc);
fout<<maxi+1;
return 0;
}