Pagini recente » Cod sursa (job #2723651) | Cod sursa (job #946304) | Cod sursa (job #2266797) | Cod sursa (job #2383059) | Cod sursa (job #197521)
Cod sursa(job #197521)
#include <algorithm>
#include <stdio.h>
#include <vector>
#define DIM 100002
using namespace std;
int TMIN[DIM];
vector<int> F[DIM];
int T,x,y,n;
int cmp(const int a, const int b){
return TMIN[a]<TMIN[b];
}
void df(int x) {
int u;
u=(int)F[x].size();
for (int i=0; i<u; ++i) {
df(F[x][i]);
}
sort(F[x].begin(), F[x].end(), cmp);
TMIN[x]=0;
for (int k=0; k<u; ++k) {
int tm = TMIN[F[x][k]]+u-k;
if (TMIN[x]<tm)
TMIN[x]=tm;
}
}
int main() {
FILE *f = fopen("zvon.in","r");
FILE *g = fopen("zvon.out","w");
fscanf(f, "%d", &T);
int i;
while (T) {
fscanf(f,"%d",&n);
for (i=1; i<=n; ++i)
F[i]=F[0];
for (i=0; i<n-1; ++i){
fscanf(f,"%d %d",&x,&y);
F[x].push_back(y);
}
df(1);
fprintf(g,"%d\n",TMIN[1]);
T--;
}
fclose(f); fclose(g);
return 0;
}