Pagini recente » Cod sursa (job #250932) | IAP #5: Open surse | Cod sursa (job #2984845) | Cod sursa (job #2676857) | Cod sursa (job #2404948)
#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;
for(int j=1;j<=test;++j){
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();
}
}
}