Pagini recente » Cod sursa (job #2928384) | Cod sursa (job #2092984) | Cod sursa (job #2691541) | Cod sursa (job #1727686) | Cod sursa (job #1155180)
#include <fstream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
int t,n,dp[100001];
vector<int> g[100001];
bool cmp(int a,int b)
{
return dp[a]>dp[b];
}
void dfs(int nod)
{
size_t i;
for(i=0;i<g[nod].size();++i)
dfs(g[nod][i]);
sort(g[nod].begin(),g[nod].end(),cmp);
for(i=0;i<g[nod].size();++i)
dp[nod]=max(dp[nod],(int)i+dp[g[nod][i]]+1);
}
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int main()
{
int i,x,y;
fin>>t;
while(t--)
{
fin>>n;
for(i=1;i<n;++i)
{
fin>>x>>y;
g[x].push_back(y);
}
dfs(1);
fout<<dp[1]<<"\n";
memset(g,0,sizeof g);
memset(dp,0,sizeof dp);
}
return 0;
}