Pagini recente » Cod sursa (job #395197) | Cod sursa (job #1153454) | Cod sursa (job #1886497) | Cod sursa (job #1840345) | Cod sursa (job #2246730)
#include <bits/stdc++.h>
using namespace std;
struct copac
{
vector <int> fraeri;
int depth;
} v[100000];
void parcurgere (int nod)
{
for (int i=0; i<v[nod].fraeri.size(); ++i)
{
v[v[nod].fraeri.at(i)].depth=v[nod].depth+1;
parcurgere(v[nod].fraeri.at(i));
}
}
int main()
{
ifstream fin("zvon.in");
ofstream fout ("zvon.out");
int t;
fin>>t;
while (--t>=0)
{
int n;
fin>>n;
if (n>=2)
{
v[1].depth=0;
int a,b,n2=n;
for (int j=1; j<n; ++j)
{
fin>>a>>b;
v[a].fraeri.push_back(b);
}
parcurgere(1);
n=n2;
long long int ans=0;
for (int i=1; i<=n; ++i)
{
if (max(ans,1ll*(v[i].fraeri.size()+v[i].depth))!=ans)
{
ans=max(ans,1ll*(v[i].fraeri.size()+v[i].depth));
//cout<<i<<" "<<v[i].fraeri.size()<<" "<<v[i].depth<<" ";
}
}
for (int i=1;i<=n;++i)
{
for (int j=0;j<v[i].fraeri.size();++j)
{
v[i].fraeri.pop_back();
}
}
//cout<<"\n";
fout<<ans<<"\n";
}
else
{
fout<<"0\n";
}
}
return 0;
}