Se dă un graf conex neorientat cu noduri și muchii, fiecare muchie având asociat un cost.
Un arbore parțial pentru este un subgraf cu structura de arbore, care cuprinde toate nodurile și o parte din muchii.
Cerință
Se cere găsirea unui arbore parțial al grafului , astfel încât diferența dintre cel mai mare și cel mai mic cost al unei muchii să fie minimă.
Date de intrare
Fisierul de intrare va conține pe prima linie numerele și , separate printr-un spațiu. Pe urmatoarele linii se vor găsi muchiile grafului sub forma X Y C
, cu semnificația că există muchie neorientată între și de cost .
Date de ieșire
Fisierul de ieșire va contine pe prima linie diferența minimă dintre cel mai mare și cel mai mic cost al muchiilor unui arbore parțial din .
Restricții și precizări
- ;
- ;
- ;
- ;
- între oricare două noduri există cel mult o muchie;
- Pentru de puncte, ;
- Pentru de puncte, și ;
- Pentru de puncte, și ;
- Pentru de puncte, ;
- Pentru de puncte, nu există restricții suplimentare.
Exemplu
weightdif.in
6 10
1 2 2
2 3 1
3 4 2
4 5 1
5 6 2
1 6 1
1 4 20
2 5 5
2 6 6
4 6 7
weightdif.out
1
Explicație
Graful din exemplu:
Un arbore parțial cu diferența minimă dintre costul maxim și cel minim de pe muchii: