Cod sursa(job #1655666)

Utilizator vladttturcuman vlad vladtt Data 18 martie 2016 10:19:41
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
// Tree Diameter.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"
#include <fstream>
#include <cstring>
#include <vector>;

#define MaxN 100001
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");

int n, m, nod, Max, i, a, b;

vector<int> v[MaxN];

int f[MaxN];

void dfs(int nod,int lvl)
{
	f[nod] = 1;

	if (lvl > Max)
	{
		Max = lvl;
		::nod = nod;
	}

	for (int j = 0; j < v[nod].size(); j++)
		if (!f[v[nod][j]])
			dfs(v[nod][j], lvl + 1);
}

int main()
{
	fin >> n;

	for (i = 1; i <= n-1; i++)
	{
		fin >> a >> b;
		v[a].push_back(b);
		v[b].push_back(a);
	}

	dfs(1,1);

	memset(f,0,sizeof(f));

	dfs(nod,1);

	fout << Max;

    return 0;
}