Pagini recente » Atasamentele paginii Rest | Monitorul de evaluare | Monitorul de evaluare | Atasamentele paginii Bitcost | Diferente pentru problema/move intre reviziile 9 si 1
Diferente pentru
problema/move intre reviziile
#9 si
#1
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="move") ==
Fie o permutare $P$ de lungime $N$. Se cere sa se sorteze permutarea in ordine crescatoare folosind un numar minim de operatii de tipul $move(i , j)$ care plaseaza elementul de valoare i imediat dupa elementul de valoare $j$. Daca doriti sa mutati elementul de valoare i chiar la inceputul permutarii, parametrul j va fi egal cu $0$.
Poveste şi cerinţă...
h2. Date de intrare
Fisierul de intrare $move.in$ contine pe prima sa linie numarul $N$, iar pe a doua linie permutarea de lungime $N$.
Fişierul de intrare $move.in$ ...
h2. Date de ieşire
Fisierul de iesire $move.out$ va contine pe prima sa linie valoarea $min$, semnificand numarul minim de operatii necesar pentru a sorta permutarea. Urmatoarele $min$ linii vor fi de forma $a b$, cu semnificatia ca se efectueaza operatia move(a, b). Daca doriti ca elementul $a$ sa ajunga la inceputul permutarii, atunci $b$ va fi egal cu $0$.
În fişierul de ieşire $move.out$ ...
h2. Restricţii
* $1 ≤ N ≤ 10^5^$
* Pentru ca o operatie $move(a, b)$ sa fie considerata valida, trebuie ca $a != b$.
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. move.in |_. move.out |
|3
3 1 2
|1
3 2
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
O singura mutare este suficienta pentru a aduce permutarea la permutarea identica.
...
== include(page="template/taskfooter" task_id="move") ==
== include(page="template/taskfooter" task_id="move") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: