Pagini recente » Diferente pentru problema/troll intre reviziile 5 si 4 | Diferente pentru problema/ackermann intre reviziile 4 si 3 | Atasamentele paginii Profil failure | Atasamentele paginii Palatulvoltaic | Diferente pentru problema/manuscris intre reviziile 2 si 28
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="manuscris") ==
Poveste şi cerinţă...
* Ghoberscris = forma "scrisă" a limbii ghoberiene
* Limba ghoberiană = limba vorbită de ghoberieni
* Ghoberieni = locuitorii țării Ghobera
În această problemă ne interesează în mod special analizarea unor propoziții din limba ghoberiană. Ghoberscrisul este un scris deosebit de impractic și nu a supraviețuit până în zilele noastre întrucât doar fetele puteau diferenția atâtea culori.
În primul rând, în ghoberscris, cuvintele nu sunt reprezentate prin semne grafice, ci prin culori (ghoberienii dispuneau de foarte multe culori).
În al doilea rând, topica propoziției este irelevantă pentru înțelesul acesteia. Sensul propoziției este determinat strict de cuvintele care o compun și de conexiunile dintre ele. Prin urmare, o propoziție scrisă în ghoberscris are forma unui arbore în care fiecare nod reprezintă un cuvânt (în funcție de culoarea acestuia).
Din păcate, manuscrisele care s-au păstrat au fost deteriorate de timp și culorile de pe ele au ajuns indescifrabile, însă structura propoziției s-a păstrat.
Dându-se structura unei propoziții (sub formă de arbore) și numărul $k$ de cuvinte / culori distincte din limba ghoberiană, calculați numărul de înțelesuri distincte pe care le putea avea inițial propoziția.
Două înțelesuri se consideră ghober-diferite dacă nu există o renumerotare a nodurilor astfel încât să se obțină doi arbori colorați identic.
Mai exact: Doi arbori $G(V, E, c: V -> C)$ și $G'(V, E', c': V -> C)$ se considera "la fel" (izomorfi) dacă există o funcție $f: V -> V'$ bijectivă a.î. $c'(f(v)) = c(v)$ oricare ar fi $v ∈ V$ si $E' = {(f(v), f(u)) | (v, u) ∈ E}$ unde $C = {1, 2 ... k}$ și $V = {1, 2 ... n}$.
h2. Date de intrare
Fişierul de intrare $manuscris.in$ ...
Fişierul de intrare $manuscris.in$ conține pe prima linie două numere, $n$ și $k$, reprezentând numărul de cuvinte din propoziția dată și respectiv numărul de cuvinte / culori din limba ghoberiană. Pe următoarele $n - 1$ linii se vor afla câte două numere, $a$ și $b$ cu semnificația că există o conexiune între cuvintele $a$ și $b$ din propoziție.
h2. Date de ieşire
În fişierul de ieşire $manuscris.out$ ...
În fişierul de ieşire $manuscris.out$, pe prima linie, afișați numărul de înțelesuri posibile diferite ale propoziției date, modulo $10^9^ + 7$.
h2. Restricţii
h2. Restricții
* $2 ≤ N ≤ 200.000$
* $2 ≤ K ≤ 1.000.000$
h2. Exemplu
table(example). |_. manuscris.in |_. manuscris.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 2 2
1 2
| 3
|
| 3 3
1 2
1 3
| 18
|
| 4 7
1 2
2 3
2 4
| 588
|
| 9 3
8 4
3 5
5 7
3 6
8 3
7 2
6 9
1 3
| 10935
|
h3. Explicaţie
...
În primul exemplu, există trei cazuri:
* ambele noduri au culoarea 1
* ambele noduri au culoarea 2
* un nod are culoarea 1, iar celălalt are culoarea 2
== include(page="template/taskfooter" task_id="manuscris") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.