Matei Nakayama Mihai a primit un cactus.
Un cactus este un graf conex neorientat în care fiecare nod face parte din cel mult un ciclu. Se consideră un cactus cu noduri și muchii cu diverse lungimi. Acesta nu conține bucle (adică muchii între un nod și el insuși) sau muchii paralele (adică două sau mai multe muchii între o singură pereche de noduri).
Mihai vrea să elimine muchii din graful cactus, astfel încât să obțină un arbore cât mai ușor. Distanța dintre două noduri din arbore este egală cu suma lungimilor muchiilor de pe cel mai scurt drum dintre cele două noduri. Greutatea unui arbore este definită ca suma distanțelor dintre oricare două perechi neordonate de noduri distincte – perechea este echivalentă cu perechea .
Ajutați-l pe Mihai să găsească greutatea minimă a unui arbore obținut prin eliminarea unor muchii din cactus.
Date de intrare
Pe prima linie a fişierului de intrare se află două număre , reprezentând numărul de noduri din graf, și , reprezentând numărul de muchii din graf.
Pe fiecare dintre următoarele linii se află trei numere , și , reprezentând o muchie cu lungimea între nodurile și .
Date de ieșire
În fişierul de ieşire se va afişa un singur număr, reprezentând greutatea minimă a unui arbore ce se poate obține din cactusul ințial prin eliminarea unor muchii.
Restricții și precizări
- Se garantează că răspunsul este cel mult .
# | Punctaj | Restricții |
---|---|---|
1 | 4 | Graful este un lanț (nu conține niciun ciclu și fiecare nod are grad cel mult 2). |
2 | 6 | Graful este un arbore (nu conține niciun ciclu). |
3 | 12 | |
4 | 25 | |
5 | 38 | Graful este un ciclu (fiecare nod are grad 2). |
6 | 15 | Fără restricții suplimentare |
Exemple
cactus.in
6 6
1 2 8
1 3 2
3 2 1
1 4 3
4 5 2
2 6 4
cactus.out
80
Se elimină muchia .
cactus.in
12 14
1 2 7
2 3 3
1 3 7
3 4 2
4 5 5
5 6 10
6 4 3
4 7 4
7 8 2
8 9 5
9 10 8
10 11 1
11 7 9
10 12 3
cactus.out
787
Se elimină muchiile , , .