Se dau doi arbori neorientaţi cu noduri etichetate de la la şi costuri pe muchii. Primul arbore se numeşte TREN, iar al doilea se numeşte BUS. Pentru două noduri şi şi un arbore definim = valoarea maximă a unei muchii de pe drumul elementar dintre nodurile şi în arborele .
Suntem interesaţi de perechile de valori şi cu proprietatea că este minim posibil.
În funcţie de valoarea unui parametru din datele de intrare, trebuie să afişaţi suma minimă cerută, respectiv numărul de perechi de valori care se realizează această valoare minimă.
Date de intrare
Pe primul rând al fişierului de intrare trenbus.in
se găsesc numerele naturale şi .
Pe următoarele rânduri se găsesc muchiile neorientate care descriu arborele TREN, iar pe următoarele rânduri se găsesc muchiile neorientate care descriu arborele BUS. Fiecare muchie este descrisă de numere naturale , reprezentând capetele muchiei respectiv costul.
Date de ieșire
Pe singurul rând al fişierului de ieşire trenbus.out
se vor tipări:
- dacă , doar suma cerută,
- dacă , suma cerută şi numărul de perechi separate printr-un spaţiu.
Restricții și precizări
- Pentru teste în valoare de puncte si
- Pentru alte teste în valoare de puncte si
- Pentru alte teste în valoare de puncte si
- Pentru alte teste în valoare de puncte si
- Pentru alte teste în valoare de puncte si
Exemplul 1
trenbus.in
1 3
1 2 5
2 3 6
1 3 1
2 3 2
trenbus.out
7
Explicație
, se afişează doar suma minimă. Generată de , sau respectiv , .
Exemplul 2
trenbus.in
2 5
1 2 2
2 5 3
2 4 7
2 3 2
1 2 4
2 3 4
3 4 3
4 5 2
trenbus.out
6 4
Explicație
; Suma minimă este , iar numărul perechilor de noduri ce generează această sumă minimă este .