Pagini recente » Cod sursa (job #1245401) | Cod sursa (job #2728614) | Cod sursa (job #174733) | Cod sursa (job #1550066) | Cod sursa (job #1420072)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
vector <int> G[100001];
int t, n, timp[100001];
bool cmp(int a, int b)
{
return timp[a] > timp[b];
}
void dfs(int nod)
{
for(unsigned i=0; i<G[nod].size(); ++i)
dfs(G[nod][i]);
sort(G[nod].begin(), G[nod].end(), cmp);
timp[nod]=0;
for(unsigned i=0; i<G[nod].size(); ++i)
timp[nod]=max(timp[nod], timp[G[nod][i]]+(int)i+1);
}
int main()
{
fin>>t;
for(int ti=1; ti<=t; ++ti)
{
fin>>n;
for(int i=1; i<n; ++i)
{
int a, b;
fin>>a>>b;
G[a].push_back(b);
///G[b].push_back(a);
}
dfs(1);
fout<<timp[1]<<'\n';
for(int i=1; i<=n; ++i)
G[i].clear();
}
return 0;
}