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

Prestolonaslednici

MediumProblem #56
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Niko ti ne kaže ko je kralj.

Jedan kralj je davno osvojio presto i započeo kraljevsku lozu. Potomaka ima na pretek i svako od njih bi voleo da zna koji je po redu za krunu.

Pravilo nasleđivanja glasi ovako. Kralja nasleđuje njegov najstariji sin, pa najstarije dete tog sina, i tako redom naniže. Kada neki potomak nema dece, na red dolazi njegov sledeći brat po starosti, pa potomci tog brata, i tako dalje.

Za nekoliko članova porodice odredi koje mesto u redosledu nasleđivanja zauzimaju. Sam kralj je na mestu 0.

Ulaz

U prvoj liniji ulaza nalazi se ceo broj t - broj test primera.
U prvoj liniji svakog test primera je broj n - koliko osoba ima u porodičnom stablu, računajući i kralja.
U narednih n−1 linija nalaze se po dva imena, roditelj dete. Deca istog roditelja navedena su od najstarijeg ka najmlađem, ali linije koje ih opisuju ne moraju ići jedna za drugom, niti kralj mora biti naveden prvi.
U sledećoj liniji je broj q - koliko ima pitanja, a u narednih q linija po jedno ime.

Imena se sastoje samo od engleskih slova i sva su različita - nema dve osobe sa istim imenom.

Izlaz

Za svako pitanje ispiši u posebnoj liniji ime i mesto koje ta osoba zauzima u redosledu nasleđivanja, razdvojene razmakom.

Primer

Input
1
19
Elisabeth Charles
Elisabeth Andrew
Elisabeth Edward
Elisabeth Anne
Charles William
William George
Charles Harry
William Charlotte
William Louis
Anne Peter
Anne Zara
Edward James
Andrew Beatrice
Andrew Eugenie
Edward Louise
Peter Savannah
Peter Isla
Zara Mia
7
Harry
Charles
Charlotte
Louise
James
Isla
Andrew
Output
Harry 6
Charles 1
Charlotte 4
Louise 12
James 11
Isla 16
Andrew 7

Elisabeth je na čelu porodice, jer je jedina koja se nigde ne pojavljuje kao nečije dete. Njen najstariji sin Charles zauzima mesto 1, a cela njegova loza - William, pa Williamovo troje dece, pa Harry - dolazi na red pre nego što se stigne do njenog drugog sina, Andrewa, na mestu 7.

Ograničenja

1≤t≤1000
2≤n≤5⋅104
1≤q≤5⋅104
svako ime ima između 1 i 20 engleskih slova
n−1 linija opisuje porodično stablo, pa je svaka osoba osim kralja tačno jednom navedena kao dete
svako ime iz pitanja postoji u porodičnom stablu
zbir svih n nije veći od 105
zbir svih q nije veći od 105


Zadatak je, uz dozvolu, preuzet iz zadatka Prestolonaslednici, čiji su autori Društvo matematičara Srbije i Fondacija Petlja.

Pošalji svoje rešenje

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

Prijavi se