Cod sursa(job #723080)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 24 martie 2012 21:26:28
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include<vector>
#include<algorithm>
#define dim 100007

using namespace std;

ifstream f("zvon.in");
ofstream g("zvon.out");
long  dist[dim],n,t,a,b;long maxu;
vector<int>G[dim];
bool viz[dim];
bool cmp(int a,int b){
	return dist[a]>dist[b];
}
void dfs(int nod){
	int ticnit;
	viz[nod]=1;
	for(int i=0;i<G[nod].size();++i)
		if(!viz[G[nod][i]]){
			dfs(G[nod][i]);
		}
	sort(G[nod].begin(),G[nod].end(),cmp);
	
	for(int i=0;i<G[nod].size();++i){
		ticnit=G[nod][i];
		dist[nod]=max(dist[nod],dist[ticnit]+i+1);
	}
}
int main (){
	f>>t;
	for(;t;--t){
		
		f>>n;
		for(int i=1;i<n;i++){
			
			f>>a>>b;
			
			G[a].push_back(b);			
			
		}
		dfs(1);
		
		g<<dist[1]<<"\n";
		for(int i=1;i<=n;i++)
			viz[i]=0;
		for(int i=1;i<n;i++){
			dist[i]=0;
			G[i].clear();
		}
	}
	
	
	
	return 0;
	
}