Cod sursa(job #1715916)

Utilizator liviu23Liviu Andrei liviu23 Data 11 iunie 2016 17:04:10
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#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;
}