Pagini recente » Cod sursa (job #2281860) | Cod sursa (job #576705) | Cod sursa (job #3289353) | Cod sursa (job #171304) | Cod sursa (job #197333)
Cod sursa(job #197333)
#include <algorithm>
#include <stdio.h>
#include <vector>
#define sz(a) (int)((a).size())
using namespace std;
int din[100];
vector<int> fi[100];
int nr,x,y,n;
int cmp(const int a, const int b)
{ return din[a]<din[b];}
void parcurg(int x)
{
int m;
m=(int)fi[x].size();
for (int i=0; i<m; ++i)
{
parcurg(fi[x][i]);
}
sort(fi[x].begin(), fi[x].end(), cmp);
din[x]=0;
for (int i=0; i<m; ++i)
if (din[x]<din[fi[x][i]]+m-i)
din[x]=din[fi[x][i]]+m-i;
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d",&nr);
for (; nr>0; --nr)
{
scanf("%d",&n);
for (int i=1; i<=n; ++i)
fi[i]=fi[0];
for (int i=0; i<n-1; ++i)
{
scanf("%d %d",&x,&y);
fi[x].push_back(y);
}
parcurg(1);
printf("%d\n",din[1]);
}
fclose(stdin); fclose(stdout);
return 0;
}