Pagini recente » Cod sursa (job #151644) | Cod sursa (job #1295144) | Cod sursa (job #1670432) | Cod sursa (job #1597147) | Cod sursa (job #1715916)
#include <fstream>
#include <vector>
#include <iostream>
#define DIM 100005
using namespace std;
vector<int> adj[DIM];
int n,q[DIM],len[DIM],maxSub,maxLant;
void traverse() {
int st=0,dr=1,u;
q[0]=1;
len[1]=0;
while(st<dr) {
u=q[st];
if(adj[u].size()>maxSub)
maxSub=adj[u].size();
for(int i=0;i<adj[u].size();i++)
q[dr]=adj[u][i],len[adj[u][i]]=len[u]+1,dr++;
st++;
}
maxLant=len[q[dr-1]];
}
int main()
{
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int t,a,b;
fin>>t;
for(int i=1;i<=t;i++) {
maxSub=0,maxLant=0;
fin>>n;
for(int i=1;i<n;i++) {
fin>>a>>b;
adj[a].push_back(b);
}
traverse();
if(maxSub==maxLant&&maxSub!=0)
fout<<maxSub+1<<'\n';
else
fout<<max(maxSub,maxLant)<<'\n';
for(int i=1;i<=n;i++)
adj[i].clear();
}
return 0;
}