Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | petarbore.in, petarbore.out | Sursă | Baraj Shumen Juniori ICHB-Vianu - 2022 |
Autor | Patrascanu Casian, Peticaru Alexandru | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Petarbore
Ministrul Brantz urmeaza sa soseasca maine la Berlint, pentru a negocia cu reprezentativii Westalisului. Dar teroristii westalieni au alte planuri in cap: sa porneasca un razboi.
Berlintul are forma unui arbore cu N noduri, fiecare nod reprezentand o intersectie, valoarea de pe o muchie reprezentand cate minute dureaza ca un semnal sa parcurga acea muchie. Teroristii se pot ascunde in orice intersectie. Agentul Twilight incearca sa ii impiedice din a starni un razboi intre Westania si Ostania si vrea sa afle cat timp are la dispozitie pentru a-i opri.
Teroristii opereaza astfel: acestia se ascund in mai multe intersectii, nu neaparat vecine. Fiecare terorist dintr-o intersectie va trimite un semnal posibilor teroristi din intersectiile vecine. Daca exista un terorist care primeste un semnal, aceasta va detona o bomba. Twilight vrea sa opreasca orice detonare de bomba, asa ca, in caz ca mai multi teroristi vor primi semnale, el este interesat de primul terorist care il primeste.
Twilight va analiza toate combinatiile de intersectii in care teroristii se pot ascunde, si va determina pentru fiecare timpul minim in care un terorist primeste semnal de la un vecin. In final, el vrea sa calculeze expected-ul de cat timp trece pana explodeaza o bomba. Deoarece matematica este unul dintre multele skill-uri pe care le are, Twilight a dedus ca acest expected
E este de forma . El se descurca sa calculeze 2n, dar nu dispune de mult timp pentru a calcula S, asa ca va roaga pe voi sa il aflati. Mai mult, va cere aceasta valoare modulo 998244353.
Date de intrare
Fişierul de intrare petarbore.in va contine pe prima linie N, reprezentand numarul de noduri ale arobrelui.
Pe urmatoarele N-1 linii se vor afla muchiile arborelui, sub forma x y z reprezentand muchia si timpul necesar pentru ca un semnal din x sa ajunga in y si invers.
Date de ieşire
În fişierul de ieşire petarbore.out va contine un singur numar, reprezentand suma modulo 998244353.
Restricţii
Subtask | Punctaj | Restricţii |
---|---|---|
1 | 25 puncte | 1 ≤ N ≤ 15 |
2 | 25 puncte | 1 ≤ N ≤ 200 |
3 | 25 puncte | 1 ≤ N ≤ 5000 si muchiile vor avea costul 1 sau 2 |
4 | 25 puncte | 1 ≤ N ≤ 5000 |
Exemplu
petarbore.in | petarbore.out |
---|---|
4 1 2 1 1 3 1 3 4 2 | 10 |
Explicaţie
Pentru usurinta, vom nota f(X) ca fiind timpul dupa care explodeaza o bomba daca teroristii se ascund in nodurile din submultimea X. Avem, astfel:
f({1, 2}) = 1, f({1, 3}) = 1, f({1, 2, 3}) = 1, f({3, 4}) = 2, f({1, 2, 4}) = 1, f({1, 3, 4}) = 1, f({2, 3, 4}) = 2, f({1, 2, 3, 4}) = 1
Restul submultimilor X, in afara de cele enumerate mai sus, au f(X) = 0.
Valoarea S va fi: 1 + 1 + 1 + 2 + 1 + 1 + 2 + 1 = 10. Expected time-ul dupa care explodeaza o bomba va fi , dar din fericire ne trebuie doar S.