Pagini recente » Cod sursa (job #2800246) | Cod sursa (job #1203665) | Rating solica solica (solica) | Cod sursa (job #1224562) | Cod sursa (job #1495285)
#include <fstream>
#include <string.h>
#include <vector>
#include <algorithm>
#define nMax 100009
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
vector<int> G[nMax];
int t, test, n, i, a, b, dist[nMax];
int cmp(int i, int j)
{
return dist[i]>dist[j];
}
void DFS(int node)
{
int x=0;
for(vector<int>::iterator it=G[node].begin();it!=G[node].end();it++)
DFS(*it);
sort(G[node].begin(), G[node].end(), cmp);
for(vector<int>::iterator it=G[node].begin();it!=G[node].end();it++)
{
++x;
dist[node]=max(dist[node], dist[*it]+x);
}
}
int main()
{
fin>>test;
for(t=1;t<=test;t++)
{
fin>>n;
for(i=1;i<n;i++)
{
fin>>a>>b;
G[a].push_back(b);
}
DFS(1);
fout<<dist[1]<<'\n';
for(i=0;i<=n;i++)
{
G[i].clear();
dist[i]=0;
}
}
return 0;
}