Pagini recente » Cod sursa (job #1583500) | Cod sursa (job #666585) | Cod sursa (job #1277592) | Cod sursa (job #2103789) | Cod sursa (job #2953487)
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int N;
vector<int> g[100002], d;
bitset<100003> v;
void citire()
{
d.resize(100002);
int i, j;
fin >> N;
while (fin >> i >> j)
{
g[i].push_back(j);
g[j].push_back(i);
}
}
void dfs(int nod, int dist)
{
v[nod] = 1;
d[nod] = dist;
for (auto i : g[nod])
{
if (!v[i])
dfs(i, dist + 1);
}
}
int main()
{
citire();
dfs(1, 0);
int dmax = 0, k;
for (int i = 1; i <= N; i++)
{
if (d[i] > dmax)
{
dmax = d[i];
k = i;
}
}
v.reset();
dfs(k, 0);
dmax = 0;
for (int i = 1; i <= N; i++)
{
if (d[i] > dmax)
{
dmax = d[i];
}
}
fout << dmax;
return 0;
}