Pagini recente » Cod sursa (job #2462272) | Cod sursa (job #2220908) | Cod sursa (job #1226129) | Cod sursa (job #100706) | Cod sursa (job #723080)
Cod sursa(job #723080)
#include<fstream>
#include<vector>
#include<algorithm>
#define dim 100007
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
long dist[dim],n,t,a,b;long maxu;
vector<int>G[dim];
bool viz[dim];
bool cmp(int a,int b){
return dist[a]>dist[b];
}
void dfs(int nod){
int ticnit;
viz[nod]=1;
for(int i=0;i<G[nod].size();++i)
if(!viz[G[nod][i]]){
dfs(G[nod][i]);
}
sort(G[nod].begin(),G[nod].end(),cmp);
for(int i=0;i<G[nod].size();++i){
ticnit=G[nod][i];
dist[nod]=max(dist[nod],dist[ticnit]+i+1);
}
}
int main (){
f>>t;
for(;t;--t){
f>>n;
for(int i=1;i<n;i++){
f>>a>>b;
G[a].push_back(b);
}
dfs(1);
g<<dist[1]<<"\n";
for(int i=1;i<=n;i++)
viz[i]=0;
for(int i=1;i<n;i++){
dist[i]=0;
G[i].clear();
}
}
return 0;
}