Pagini recente » Cod sursa (job #991918) | Cod sursa (job #1665074) | Cod sursa (job #1844808) | Cod sursa (job #2381753) | Cod sursa (job #1891566)
#include <iostream>
#include <vector>
#include <fstream>
#define NMAX 100000 + 4
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
vector<int> graph[NMAX];
int timpi[NMAX];
int T, n, x, y, ans;
void DFS(int start){
timpi[start] = 0;
int maxval = 0, maxap = 0;
for(unsigned int i=0;i<graph[start].size();i++){
DFS(graph[start][i]);
}
for(unsigned int i=0;i<graph[start].size();i++){
if(timpi[graph[start][i]]>maxval){
maxval = timpi[graph[start][i]];
maxap = 1;
}
else if(timpi[graph[start][i]] == maxval)
maxap++;
}
timpi[start] = maxval+maxap;
}
int main()
{
in>>T;
while(T){
T--;
in>>n;
for(int i=0;i < n-1;i++){
in>>x>>y;
graph[x].push_back(y);
}
DFS(1);
out<<timpi[1]<<'\n';
for(int i=0;i<n;i++){
timpi[i] = 0;
graph[i].clear();
}
ans = 0;
}
return 0;
}