Pagini recente » Cod sursa (job #3191685) | Cod sursa (job #753440) | Cod sursa (job #1976749) | Cod sursa (job #661540) | Cod sursa (job #1374347)
#include<iostream>
#include<fstream>
#define NMAX 100001
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int n,t,v[NMAX],mx;
int cmp(const int &x,const int &y)
{
return v[x]>v[y];
}
void dfs1(vector<int>*g ,int x)
{
for(int i=0;i<g[x].size();++i)
{
v[x]++;
// cout<<g[x][i]<<" ";
dfs1(g,g[x][i]);
v[x]+=v[g[x][i]];
}
}
void dfs(vector<int>*g,int x,int timp)
{
for(int i=0;i<g[x].size();++i)
{
timp++;
if(mx<timp)mx=timp;
dfs(g,g[x][i],timp);
}
}
void solve()
{
vector<int>g[n+1];
int x,y;
for(int i=1;i<n;i++)
{
fin>>x>>y;
g[x].push_back(y);
}
dfs1(g,1);
sort(g[1].begin(),g[1].end(),cmp);
mx=0;
dfs(g,1,0);
fout<<mx<<'\n';
}
int main()
{
fin>>t;
for(int i=1;i<=t;i++)
{
fin>>n;
if(n==1)fout<<0<<'\n';
else
solve();
}
fin.close();
fout.close();
return 0;
}