Pagini recente » Cod sursa (job #2646465) | Cod sursa (job #421239) | Cod sursa (job #2564692) | Cod sursa (job #1920373) | Cod sursa (job #2404955)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream f ("zvon.in");
ofstream g ("zvon.out");
vector<int>G[100010];
int timp[100010],n,x,y,test;
void dfs(int x){
int numar=G[x].size();
int k=0;
vector <int>vec;
for(int i=0;i<numar;++i){
dfs(G[x][i]);
vec.push_back(timp[G[x][i]]);
}
sort(vec.begin(),vec.end());
k=vec.size();
for(int i=0;i<k;++i){
timp[x]=max(timp[x],vec[i]+k-i);
}
}
int main()
{
f>>test;
while(test--){
f>>n;
for(int i=1;i<n;++i){
f>>x>>y;
G[x].push_back(y);
}
dfs(1);
g<<timp[1]<<'\n';
for(int i=1;i<=n;++i){
timp[i]=0;
G[x].clear();
}
}
return 0;
}