Cod sursa(job #2287205)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 21 noiembrie 2018 17:31:56
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MAXN = 1e5;

int n;
vector<int> g[MAXN + 1];
bool viz[MAXN + 1];

int d, maxNod;

void bfs(int nod, int dist) {
	viz[nod] = 1;
	if (dist > d) {
		d = dist;
		maxNod = nod;
	}
	for (auto x : g[nod])
		if (!viz[x])
			bfs(x, dist + 1);
}

int main() {
	in >> n;

	for (int i = 1; i <= n; ++ i) {
		int a, b;
		in >> a >> b;
		g[a].push_back(b);
		g[b].push_back(a);
	}

	bfs(1, 1);
	memset(viz, 0, sizeof(viz));
	bfs(maxNod, 1);

	out << d;

	return 0;
}