Dubota este acum poliţist în toată regula şi a primit misiunea de a patrula obiective strategice. Cele obiective sunt conectate prin drumuri bidirecţionale. Dubota vrea să găsească un traseu cât mai lung de obiective pe care să patruleze. Un traseu este o succesiune de noduri astfel încât , şi există drum de la la pentru şi drum între si .
Cerință
Sa se găsească un traseu cât mai lung de obiective pe care Dubota să-l patruleze.
Date de intrare
Pe prima linie a fisierului x-hamilton.in
se găsesc două numere, şi . Pe urmatoarele linii sunt cate numere, , , reprezentând un drum de la obiectivul la obiectivul .
Date de ieșire
Pe prima linie a fişierului x-hamilton.out
se va găsi lungimea celui mai lung traseu găsit, urmat pe a doua linie de descrierea ciclului, prin indicarea indicilor nodurilor de pe traseu.
Vi se pun la dipozitie cele fişiere de intrare care sunt folosite pentru evaluare, avand numele 0-hamilton.in
, 1-hamilton.in
9-hamilton.in
. Pentru fiecare fişier de intrare x-hamilton.in
se cere să generaţi un fişier de ieşire x-hamilton.out
în care să scrieţi traseul cerut. Fişierele vor fi trimise unul câte unul.
Restricții și precizări
- Punctajul pe un test se calculeaza astfel, unde e lungimea drumului afisat:
- Pentru :
- Pentru : .
Exemplu
hamilton.in
8 12
1 2
1 6
2 3
2 4
2 6
3 5
3 7
4 6
4 7
5 8
6 7
7 8
hamilton.out
8
1 2 3 5 8 7 4 6