Nella Terra della Concordia ci sono N stati.
Ogni stato confina con qualche altro stato e ogni coppia di stati confinanti è collegata direttamente da un’unica strada.
Se un abitante di uno stato passa in un altro stato adiacente il suo passaporto deve essere controllato una e una sola volta, o al momento dell’entrata nello stato verso cui l’abitante si dirige o all’uscita dello stato da cui parte.
Vi sono M strade e ognuna deve avere esattamente una stazione di controllo passaporti.
La stazione deve essere posizionata all’uscita di uno stato o all’entrata dell’altro.
Dato che le stazioni di controllo passaporti sono molto costose, si vuole fare in modo che tutti gli stati sostengano più o meno lo stesso onere finanziario.
In altre parole, per ogni strada è necessario stabilire in quale stato porre la stazione di controllo.
Si vuole minimizzare la differenza tra il numero di stazioni dello stato che ne ha di più e il numero di stazioni dello stato che ne ha di meno.
Si può fornire una soluzione subottimale.
Dati in Input
Il file input.txt contiene sulla prima riga 2 interi N ed M.
Su ognuna delle successive M righe è contenuta una coppia di interi i e j ad indicare che tra lo stato i e lo stato j esiste una strada.
Dati in Output
Il file output.txt contiene sulla prima riga un intero: la differenza tra il numero di stazioni di controllo passaporto dello stato che ne posside di più e quello che ne possiede di meno.
Ognuna delle successive M righe contiene una coppia di interi i e j a indicare che nella strada che collega gli stati i e j la stazione deve essere posizionata nello stato j.
Assunzioni
- 1 < N ≤ 250
- 1 < M ≤ 10000
- Il tempo di esecuzione massimo è fissato in 2 secondi
- Su un input che ammette differenza minima Q, un output privo di errori viene valutato 1 se la differenza che propone è uguale a Q,1/3 se la differenza che propone è uguale a Q+1, 0 in tutti gli altri casi.
Esempi
input.txt | output.txt | |
---|---|---|
1 | 5 4 2 1 3 1 1 4 1 5 |
1 1 2 1 3 1 4 1 5 |
2 | 4 5 1 2 3 1 4 1 2 3 3 4 |
1 1 2 1 3 1 4 2 3 3 4 |