Pagini recente » Cod sursa (job #364389) | Cod sursa (job #2803322) | Cod sursa (job #2705885) | Cod sursa (job #1527773) | Cod sursa (job #2503192)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
vector <int> v[100005];
int d[100005],n;
bool cmp(int a,int b)
{
return d[a]>d[b];
}
void dfs(int nod)
{
if (v[nod].size()==0)
{
d[nod]=0;
return;
}
for (int i=0;i<v[nod].size();i++)
{
dfs(v[nod][i]);
}
sort(v[nod].begin(),v[nod].end(),cmp);
for (int i=0;i<v[nod].size();i++)
{
d[nod]=max(d[nod],1+i+d[v[nod][i]]);
}
}
int main()
{
int t;
fin >> t;
for (int i=1;i<=t;i++)
{
fin >> n;
for (int j=1;j<=n;j++)
{
v[j].clear();
d[j]=0;
}
for (int j=1;j<=n-1;j++)
{
int x,y;
fin >> x >> y;
v[x].push_back(y);
}
dfs(1);
fout << d[1] << '\n';
}
}