Pagini recente » Cod sursa (job #2579533) | Cod sursa (job #2044486) | Cod sursa (job #1683165) | Cod sursa (job #510044) | Cod sursa (job #99537)
Cod sursa(job #99537)
using namespace std;
#include <cstdio>
#include <string>
#include <vector>
#define pb push_back
int n;
vector<vector<int> > a;
int start[100001], nrfii[100001];
void solve()
{
vector<int>::iterator it;
int i, j;
start[1]=0;
int Q[100001], p=1, q=1;
bool use[100001];
memset(use, 0, sizeof(use));
use[1]=1;
Q[1]=1;
int u;
while(p<=q)
{
u=Q[p++];
for(it=a[u].begin(), i=0;it!=a[u].end();++it,++i)
{
start[*it]=start[u]+i;
Q[++q]=*it;
}
}
int max=0;
for(i=1;i<=n;++i)
if(max<start[i]+nrfii[i]) max=start[i]+nrfii[i];
printf("%d\n", max);
}
int main()
{
int T, i, p, q;
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d\n", &T);
while(T--)
{
scanf("%d\n", &n);
a.clear();
a.resize(n+1);
memset(nrfii, 0, sizeof(nrfii));
memset(start, 0, sizeof(start));
for(i=1;i<n;++i)
{
scanf("%d %d\n", &p, &q);
a[p].pb(q);
++nrfii[p];
}
solve();
}
return 0;
}