Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-11-21 19:19:04.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:tester.in, tester.outSursăAlgoritmiada 2010, Runda 1
AutorCosmin GheorgheAdăugată deProstuStefan-Alexandru Filip Prostu
Timp execuţie pe test0.15 secLimită de memorie36864 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Tester

Paraschiva e tester de jocuri. Ultimul joc pe care il testeaza are N stari si M taste ce definesc anumite actiuni. Fiecare tasta modifica starea jocului dintr-o anumita stare x in y. Paraschiva stie de la creatorii jocului ca oricare doua taste ( x, y ) si ( y, z ) apasate consecutiv produc un combo special (a doua tasta trebuie neaparat sa afecteze starea in care jocul este lasat de prima tasta). Paraschiva trebuie sa testeze toate combourile posibile ce pot aparea in joc. Pentru asta ea procedeaza astfel: porneste din orice stare a jocului si incepe sa tasteze pentru a descoperi efectele combo-urilor. Ea, de asemenea, poate oricand reseta jocul, adica poate reporni din orice stare doreste. Paraschiva se plictiseste repede asa ca doreste sa testeze jocul intr-un mod cat mai distractiv posibil: ea vrea sa produca o serie de tastari si resetari astfel incat orice combo posibil sa apara in secventa o singura data iar numarul total de resetari ale jocului sa fie minim.

Date de intrare

Fişierul de intrare tester.in contine pe prima linie doi intregi, N si M. Urmeaza M linii fiecare continand cate doi intregi: linia i+1 contine u si v reprezentand faptul ca tasta i modifica starea jocului din u in v.

Date de ieşire

Fişierul de ieşire tester.out va contine o singura linie care va descrie starile prin care jocul trece in secventa Paraschivei. Orice resetare este marcata cu un R. Pentru a intelege mai bine formatul fisierului de iesire studiati exemplul.

Restrictii si precizari

  • 1 ≤ N ≤ 500
  • 1 ≤ M ≤ 5000
  • Orice solutie care respecta conditiile din enunt va obtine punctajul pe respectivul test.

Exemplu

tester.intester.out
5 5
1 2
2 3
3 5
5 4
2 4
1 2 3 5 4 R 1 2 4
4 7
1 2
2 3
3 2
1 4
4 3
3 4
3 1
4 3 1 4 3 4 R 2 3 1 2 3 4 3 2 3 2

Explicaţie

Pentru primul exemplu, comenzile executate sunt (1, 2) (2, 3) (3, 5) (5, 4) - (1, 2) (2, 4) se observa ca orice combo posibil apare in secventa o singura data ( ( 1, 2 ) este o tasta, nu un combo deci poate aparea de mai multe ori ).

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?