Fişierul intrare/ieşire: | arbori3.in, arbori3.out | Sursă | ad-hoc |
Autor | Tudor Muresan | Adăugată de | Ciprian Oprisa •cypry |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 16384 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Permutări de traversare a arborilor
Se dă un arbore având noduri numerotate ale cărui arce au ataşate ca lungimi numere întregi. Se consideră cele permutări ale elementelor mulţimii notate cu , unde . De asemenea notăm cu al -lea element al mulţimii ().
Fiecare permutare reprezintă o traversare a secvenţei de noduri ale arborelui ceea ce înseamnă că ne deplasăm de la nodul la nodul pe drumul cel mai scurt, pe urmă de la nodul la nodul tot pe drumul cel mai scurt şi tot aşa până la nodul . Notăm distanţa totală a traversării date de permutarea cu .
Se cere să se calculeze suma distanţelor pentru toate cele permutări.
Date de intrare
Fişierul de intrare arbori3.in conţine mai multe exemple de test. Un exemplu are o linie conţinând un singur număr natural , urmată de linii conţinând fiecare trei întregi , şi separaţi de un spaţiu şi reprezentând un arc al arborelui între nodurile şi , având lungimea . Fişierul se termină cu o linie conţinând un singur 0.
Date de ieşire
Fişierul de ieşire arbori3.out conţine câte o linie pentru fiecare exemplu de test, pe care se tipăreşte suma distanţelor pentru toate cele permutări luată modulo 9999991.
Restricţii
- numărul de teste nu depăşeşte 20
Exemplu
arbori3.in | arbori3.out |
---|---|
3 1 2 1 1 3 2 0 | 24 |