Pagini recente » Atasamentele paginii Profil AlexOlteanu201611 | Perm 5 | Diferente pentru problema/formulaone intre reviziile 1 si 2 | Progresii | Diferente pentru problema/kbubblesort intre reviziile 1 si 8
Diferente intre titluri:
kbubblesort
K - BubbleSort
Diferente intre continut:
== include(page="template/taskheader" task_id="kbubblesort") ==
Poveste şi cerinţă...
Se da urmatorul algoritm de sortare in ordine crescatoare a elementelor unui vector de $N$ numere naturale:
==code(cpp) |
ok = 1;
while(ok)
{
ok = 0;
for(i = 1; i < N; i++)
if(v[i] > v[i + 1])
{
aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
ok = 1;
}
}
==
Mai exact, cat timp vectorul v nu este sortat, o sa luam oricare 2 valori aflate pe pozitii consecutive si daca elementul mai mare apare inaintea celui mai mic, interschimbam valorile.
Tapescu a primit o permutare cu $N$ elemente (un sir cu $N$ numere naturale distincte din intervalul $[1,N]$). El a inceput sa sorteze elementele din permutare conform algoritmului de mai sus. Plictisit si foarte grabit ca trebuie sa se joace pe Tinder, el s-a hotarat sa se opreasca dupa primele $K$ interschimbari din algoritm. Acum Tapescu va face o oferta: el va da permutarea de lungime $N$ si valoarea $K$ si voi trebuie sa ii spuneti cum o sa arate permutarea dupa primele $K$ interschimbari. Daca faceti asta o sa va acorde $100$ de puncte si posibil si $5 euro$.
h2. Date de intrare
Fişierul de intrare $kbubblesort.in$ ...
Fişierul de intrare $kbubblesort.in$ va contine pe prima linie $2$ numere naturale $N$ si $K$. Pe linia $2$ vor fi $N$ numere naturale distincte din intervalul $[1,N]$ reprezentand permutarea de lungime $N$.
h2. Date de ieşire
În fişierul de ieşire $kbubblesort.out$ ...
Fişierul de ieşire $kbubblesort.out$ va contine pe prima linie $N$ numere naturale reprezentand cum va arata permutarea dupa primele $K$ interschimbari ale algoritmului BubbleSort (algoritmul de mai sus)
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 1.000.000$
* $1 ≤ K ≤ 100.000.000$
* Se garantează ca dupa primele $K$ interschimbari, permutarea nu va fi sortata.
h2. Exemplu
table(example). |_. kbubblesort.in |_. kbubblesort.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|5 4
4 2 5 1 3
|2 1 4 3 5
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="kbubblesort") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.