Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2015-02-23 17:06:34.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:kbubblesort.in, kbubblesort.outSursăAlgoritmiada 2015, Runda 2
AutorEugenie Daniel PosdarascuAdăugată deeudanipEugenie Daniel Posdarascu eudanip
Timp execuţie pe test1.25 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

K-BubbleSort

Se da urmatorul algoritm de sortare in ordine crescatoare a elementelor unui vector de N numere naturale:

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.

Date de intrare

Fişierul de intrare kbubblesort.in ...

Date de ieşire

În fişierul de ieşire kbubblesort.out ...

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

kbubblesort.inkbubblesort.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?