Pagini recente » Cod sursa (job #496394) | Cod sursa (job #187704) | Cod sursa (job #2121742) | Cod sursa (job #3150623) | Cod sursa (job #922404)
Cod sursa(job #922404)
#include<fstream>
#include<vector>
#include<algorithm>
#include<queue>
#define NMAX 100005
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int n,t,DP[NMAX];
vector<int> G[NMAX];
void read()
{
int x,y,i;
for(i=1;i<n;i++)
{
fin>>x>>y;
G[x].push_back(y);
}
}
void DFS(int nod)
{
int vec;
priority_queue<int> Q;
for(size_t i=0;i<G[nod].size();i++)
{
vec=G[nod][i];
DFS(vec);
Q.push(DP[vec]);
}
for(int i=0;!Q.empty();Q.pop(),i++)
DP[nod]=max(DP[nod],Q.top()+i+1);
}
void clear()
{
for(int i=0;i<=n;i++)
{
DP[i]=0;
G[i].clear();
}
}
int main()
{
fin>>t;
while(t--)
{
fin>>n;
read();
DFS(1);
fout<<DP[1]<<'\n';
clear();
}
fin.close();
fout.close();
return 0;
}