Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-12-30 03:27:20.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:ciclueuler.in, ciclueuler.outSursăArhiva educationala
AutorArhiva EducationalaAdăugată deamadaeusLucian Boca amadaeus
Timp execuţie pe test0.4 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Ciclu Eulerian

Fie un multigraf G = (V,E). Un ciclu al lui G se numeste Eulerian daca viziteaza toate muchiile din E exact o singura data. G se numeste Eulerian daca admite un ciclu Eulerian.

Cerinta

Fiind dat un multigraf G = (V,E), determinati daca acesta este Eulerian. In caz afirmativ, gasiti un ciclu Eulerian al sau.

Date de intrare

Fisierul de intrare ciclueuler.in contine pe prima linie numerele N si M, reprezentand numarul nodurilor, respectiv numarul muchiilor din G. Pe urmatoarele M linii se afla cate o pereche de numere u v, decriind o muchie a multigrafului, cu extremitatile in nodurile u si v.

Date de iesire

In fisierul de iesire ciclueuler.out veti tipari M numere x1 x2 ... xM, cu proprietatea ca (x1,x2), (x2,x3), ..., (xM,x1) sunt muchiile ciclului Eulerian determinat, sau numarul -1, in cazul in care G nu este Eulerian.

Restrictii

  • 1 ≤ N ≤ 100 000
  • 1 ≤ M ≤ 500 000
  • Solutia nu este unica; orice solutie valida va primi punctajul maxim.

Exemplu

ciclueuler.inciclueuler.out
4 6
1 2
1 3
2 2
2 3
3 4
3 4
1 2 2 3 4 3

Explicatie

Ciclul format din muchiile (1,2), (2,2), (2,3), (3,4), (4,3), (3,1), in aceasta ordine, este un ciclu Eulerian.

Solutie

Conform unei teoreme datorate lui Leonhard Euler, un multigraf este Eulerian daca si numai daca toate nodurile sale au grad par.
[...]

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?