Pagini recente » Cod sursa (job #3249561) | Cod sursa (job #69186) | Cod sursa (job #2983291) | Cod sursa (job #86059) | Cod sursa (job #1155443)
#include<fstream>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
int dp[100010],t,N;
vector <int> Muchie[100010];
bool cmp(int a,int b){
return (dp[a]>dp[b]);
}
void dfs(int nod) {
int i,vecin;
for(i=0;i<Muchie[nod].size();i++) {
vecin=Muchie[nod][i];
dfs(vecin);
}
sort(Muchie[nod].begin(),Muchie[nod].end(),cmp);
for(i=0;i<Muchie[nod].size();i++){
vecin=Muchie[nod][i];
dp[nod]=max(dp[nod],1+dp[vecin]+i);
}
}
int main() {
int i,x,y;
in>>t;
while(t) {
t--;
in>>N;
for(i=1;i<=N-1;i++) {
in>>x>>y;
Muchie[x].push_back(y);
}
dfs(1);
out<<dp[1]<<'\n';
memset(dp,0,sizeof dp);
memset(Muchie,0,sizeof Muchie);
}
in.close();
out.close();
return 0;
}