Pagini recente » Cod sursa (job #1380626) | Cod sursa (job #591536) | Cod sursa (job #2244206) | Cod sursa (job #2793494) | Cod sursa (job #2373912)
#include <bits/stdc++.h>
using namespace std;
bool v[100005];
vector<int> graf[100005];
int startNode, diam = 0;
ifstream f("darb.in");
ofstream g("darb.out");
int DFS(int nod)
{
startNode = nod;
v[nod] = true;
for (int i = 0; i < graf[nod].size(); i++)
{
if (!v[graf[nod][i]])
{
diam++;
DFS(graf[nod][i]);
}
}
}
int main()
{
int N;
f >> N;
for (int i = 0, a, b; i < N - 1; i++)
{
f >> a >> b;
graf[a].push_back(b);
graf[b].push_back(a);
}
DFS(1);
int copieStart = startNode;
diam = -1;
for(int i = 0; i < N; i++)
{
v[i] = false;
}
DFS(copieStart);
g << diam;
}