Cod sursa(job #1094048)

Utilizator raulstoinStoin Raul raulstoin Data 28 ianuarie 2014 21:02:30
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
#include<vector>
#include<cstring>

#define NMAX 100005
#define VEC G[nod][i]

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

int n,start,sol;
vector<int> G[NMAX];
bool use[NMAX];

void read()
{
	fin>>n;
	for(int i=1,x,y;i<n;i++)
	{
		fin>>x>>y;
		G[x].push_back(y);
		G[y].push_back(x);
	}
}

void DFS(int nod,int level)
{
	use[nod]=1;
	if(level>sol)
	{
		start=nod;
		sol=level;
	}
	for(size_t i=0;i<G[nod].size();i++)
		if(!use[VEC])
			DFS(VEC,level+1);
}

int main()
{
	read();
	DFS(1,1);
	memset(use,0,sizeof use);
	DFS(start,1);
	fout<<sol;
	return 0;
}