Pe un lac cu apă termală se află frunze de nuferi. Pe dintre ele stau la soare broscuţe. Evident, o frunză este liberă şi broscuţele au început să se joace. În fiecare moment o broscuţă sare de pe frunza ei pe frunza liberă din acel moment.
Cerinţă
Numerotând frunzele de la la , broscuţele de la la , şi cunoscându-se ordinea iniţială a broscuţelor pe cele frunze, să se determine numărul minim de sărituri ale broscuţelor de pe o frunză pe alta, astfel încât ele să se găsească într-o ordine finală, dată, precum şi săriturile realizate.
Date de intrare
Fişierul de intrare broscute.in
conţine pe prima linie un număr natural reprezentând numărul de broscuţe separat printr-un spaţiu de un număr natural , care reprezintă cerinţa: , dacă se cere numărul de sărituri, respectiv dacă se cere ordinea săriturilor. Linia a doua conţine numere naturale reprezentând configuraţia iniţială a broscuţelor pe cele frunze, iar linia a treia conţine numere naturale reprezentând configuraţia finală a broscuţelor pe cele frunze.
Date de ieşire
Fişierul de ieşire broscute.out
va conţine pe prima linie un număr natural ce reprezintă numărul minim de sărituri, dacă cerinţa este . Dacă cerinţa este fişierul de ieşire va conţine mai multe linii, pe fiecare dintre ele existând numere naturale , separate prin câte un spaţiu, care descriu săritura, reprezentând numărul broscuţei , frunza de pe care sare şi frunza pe care sare . În cazul în care la cerinţa broscuţele nu fac nici o săritură se va afişa pe prima linie mesajul broscutele nu se joaca
.
Restricţii şi precizări
- În descrierea configuraţiilor din fişierul de intrare frunza liberă este reprezentată prin valoarea
- Pentru cerința se acordă din punctaj, iar pentru cerința tot din punctaj.
- În cazul în care cerința este și numărul de sărituri afișate nu este minim dar realizează ajungerea la configurația finală se acordă doar din punctaj.
Exemplul 1
broscute.in
4 2
3 2 0 1 4
1 2 3 4 0
broscute.out
3 1 3
1 4 1
4 5 4
Explicație
Sunt broscuţe, deci frunze de nufăr. Cerinţa este .
Broscuţele vor face sărituri:
- broscuţa sare de pe frunza pe frunza
- broscuţa sare de pe frunza pe frunza
- broscuţa sare de pe frunza pe frunza
Exemplul 2
broscute.in
4 1
3 2 0 1 4
1 2 3 4 0
broscute.out
3
Exemplul 3
broscute.in
4 2
3 2 0 1 4
3 2 0 1 4
broscute.out
broscutele nu se joaca