Fie un graf neorientat cu noduri și muchii, care NU este conex.
Cerinţe
Să i se adauge grafului un număr minim de muchii, astfel încât acesta să devină conex.
Fie numărul de muchii nou-adăugate care sunt incidente cu nodul , iar cea mai mare dintre valorile . Mulțimea de muchii adăugate trebuie să respecte condiția ca valoarea să fie minimă.
Date de intrare
Pe prima linie a fișierului de intrare conexidad.in
se află două numere naturale și , iar pe fiecare dintre următoarele M linii se află câte o pereche de numere , semnificând faptul că există muchia . Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Date de ieşire
Fișierul de ieșire conexidad.out
va conține pe prima linie valoarea . Pe a doua linie va conține valoarea reprezentând numărul de muchii nou-adăugate în graf. Fiecare dintre următoarele linii va conține câte o pereche de numere , separate prin câte un spațiu, semnificând faptul că se adaugă grafului muchia .
Restricţii și precizări
- Nodurile grafului sunt numerotate de la la inclusiv.
- Muchiile prezente în fișierul de intrare sunt distincte.
- Pentru orice muchie aflată în fișierul de intrare, avem .
- Graful din fișierul de intrare nu este conex.
- În cazul în care soluția afișată pentru un anumit test conectează graful cu număr minim de muchii, dar nu minimizează valoarea lui , se vor acorda din punctajul pentru testul respectiv.
- Dacă există mai multe soluţii optime, se va admite oricare dintre acestea.
- Se acordă puncte din oficiu.
Exemplul 1
conexidad.in
4 2
1 2
4 2
conexidad.out
1
1
3 1
Explicație
Graful este format din două componente conexe, cu noduri din mulțimea respectiv nodul izolat .
După adăugarea muchiei vom avea valorile , deci .
Se poate demonstra că nu există soluție cu .
Exemplul 2
conexidad.in
5 1
3 4
conexidad.out
2
3
1 3
2 3
4 5
Explicație
Graful este format din patru componente conexe, cu noduri din mulțimea , respectiv nodurile izolate și .
După adăugarea muchiilor și , vom avea valorile , deci .
Se poate demonstra că nu există soluție cu .