LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Takmičarsko Znanje
Izbor Radnog Okruženja (IDE)Interaktivni ZadaciOutput-only Zadaci
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne PretrageBinarna Pretraga po RešenjuPodeli, pa Vladaj
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad BitovimaBitmaske
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRedMapeSkupovi (Set)Red sa PrioritetomKorišćenje Proizvoljnih KriterijumaSegmentna StablaFenvikova StablaSparse TabeleDisjunktni SkupoviSqrt Dekompozicija
Kombinatorika
Pravilo SabiranjaPravilo MnoženjaKombinatorni ObjektiPrincip Uključenja Isključenja
Geometrija
Osnove GeometrijeVektoriVektorski i Skalarni ProizvodLinijePoligoniUgloviTačka u PoligonuRastojanja i Tačke PresekaKonveksni OmotačKrugovi
Rekurzija
PokazivačiRekurzijaGenerisanje Kombinatornih Objekata
Dinamičko Programiranje
O DP-uDP problemiDP nad StablimaDP nad Bitmaskama
Teorija Grafova
GrafoviDFS i BFSNajkraći PuteviStablaTopološko SortiranjeDajkstrin AlgoritamMinimalna Razapinjuća StablaAlgoritmi Najkraćih Puteva
Napredna Teorija Grafova
Dvostruka PovezanostJako Povezane KomponenteBipartitni GrafMaksimalni Protok u GrafuFord-Fulkersonov AlgoritamDualnost Protoka i Minimalnog PresekaTeško-Laka DekompozicijaCentroidna Dekompozicija
Napredne Strukture Podataka
2D i 3D Segmentna StablaLenjo PropagiranjeImplicitna Segmentna StablaPerzistentna Segmentna StablaNajbliži Zajednički PredakTrieBalansirana Binarna Stabla PretrageMoov Algoritam

Prečnik stabla

MediumProblem #70
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Jedna pretraga iz ispostave 1 meri koliko je šta daleko od ispostave 1, a to nije isto pitanje.

U nacionalnom parku ima n ispostava koje povezuje n−1 staza. Do svake ispostave se stiže iz svake druge, i to samo jednim putem - staze čine stablo.

Čuvare zanima koliko park ume da bude velik. Negde u njemu postoje dve ispostave između kojih se pešači duže nego između bilo koje druge dve, i njih zanima koliko se staza pređe na tom putu. Taj broj se zove prečnik stabla.

Napiši program koji ga računa.

Ulaz

U prvoj liniji ulaza je ceo broj t - broj test primera.
Za svaki test primer, u prvoj liniji stoji broj n - koliko ima ispostava.
Sledi n−1 linija, a u svakoj po dva broja u i v - staza između ispostava u i v, prohodna u oba smera.

Ispostave nose brojeve od 1 do n. Staze uvek povezuju sve ispostave i nigde ne zatvaraju krug, dakle čine stablo.

Izlaz

Za svaki test primer ispiši u posebnoj liniji koliko se staza pređe na najdužem putu u parku.

Primer

Input
3
7
1 2
1 3
2 4
3 5
4 6
5 7
4
1 2
1 3
1 4
1
Output
6
2
0

U prvom test primeru najduže se pešači od ispostave 6 do ispostave 7, putem 6→4→2→1→3→5→7, na kome se pređe 6 staza. Primeti da ispostava 1 nije nijedan njegov kraj - iz nje se do svake druge stiže za najviše 3 staze. U drugom test primeru sve staze izlaze iz ispostave 1, pa se između svake druge dve pređu tačno 2. U trećem postoji samo jedna ispostava i nikuda se ne ide.

Ograničenja

1≤t≤100
1≤n≤105
1≤u,v≤n i u=v
Zbir n preko svih test primera ne prelazi 105

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se