Pagini recente » Cod sursa (job #963313) | Cod sursa (job #1736406) | Cod sursa (job #2157536) | Cod sursa (job #1616883) | Cod sursa (job #2487763)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
const int nmax = 100000;
vector <int> g[nmax +5];
int n, t, d[nmax + 5];
void Read(){
fin >> n;
for (int i = 1; i < n; i++){
int a, b;
fin >> a >> b;
g[a].push_back(b);
}
}
int Compare(int a, int b){
return d[a] > d[b];
}
void DFS(int nod){
for (auto i : g[nod])
DFS(i);
sort(g[nod].begin(), g[nod].end(), Compare);
for (int i = 0; i < g[nod].size(); i++)
d[nod] = max(d[nod], d[g[nod][i]] + i + 1);
}
void Print(){
fout << d[1] << '\n';
}
void Set(){
memset(d, 0, sizeof d);
for (int i = 1; i <= n; i++)
g[i].clear();
}
int main(){
fin >> t;
while (t--){
Read();
DFS(1);
Print();
Set();
}
return 0;
}