Jocul pe care îl joacă Robo atunci când se plictisește este un joc inteligent pentru roboței. Pe ecranul tabletei lui roboțești, sunt căsuțe de formă pătrată, cu latura egală cu . Căsuțele sunt așezate pe un rând, una lângă alta, fiind etichetate, în această ordine, cu numere de la la . Fiecare căsuță conține câte un număr natural, identificatorul câte unuia dintre prietenii săi, roboței, ca și el. Identificatorii se pot repeta.
Robo poate interschimba conținutul a două căsuțe, numai dacă distanța acestora pe orizontală este egală cu distanța dintre brațele sale; distanța, pe orizontală, dintre centrele a două căsuțe etichetate cu , respectiv cu este (). El își poate fixa în orice moment distanța dintre brațe la sau își poate dubla distanța curentă dintre brațe, de oricâte ori este necesar, fără a depăși valoarea . Astfel, distanța dintre brațele sale poate fi , apoi, prin dublare, , apoi, prin dublare , apoi, prin dublare etc.
La începutul jocului, distanța dintre brațele lui Robo este . De fiecare dată când consideră convenabilă distanța dintre brațe, realizează o interschimbare.
Cerință
Se cere ca Robo să așeze identificatorii în căsuțe în ordine crescătoare, prin maximum interschimbări de tipul celei precizate mai sus.
Date de intrare
Fișierul sort2dist.in
conține:
- pe prima linie numărul natural , cu semnificația din enunț;
- pe următoarele linii, numere, reprezentând, în această ordine, identificatorii conținuți în căsuțele tabletei (identificatorul de pe linia este conținut de căsuța ).
Date de ieșire
Fișierul sort2dist.out
conține:
- pe prima linie un număr natural , reprezentând numărul de interschimbări realizate de Robo (nu neapărat numărul minim de interschimbări necesare);
- pe fiecare dintre următoarele linii (doar dacă este nenul), câte două numere naturale, separate prin câte un spațiu, reprezentând etichetele căsuțelor al căror conținut s-a interschimbat, în ordinea realizării acestor interschimbări.
Restricții și precizări
- ;
- identificatorii sunt numere naturale de maximum de cifre;
- pentru din punctaj, fișierele de test conțin numere cu maximum cifre;
- pentru din punctaj, .
Exemplu
sort2dist.in
4
5
7
6
2
sort2dist.out
2
2 4
2 1
Explicație
Tableta are căsuțe, conținând, în această ordine, identificatorii .
Pentru ordonarea crescătoare s-au realizat interschimbări:
- s-a interschimbat conținutul căsuțelor și (distanța dintre centrele lor fiind ), identificatorii din căsuțe fiind acum ;
- s-a interschimbat conținutul căsuțelor și (distanța dintre centrele lor fiind ), identificatorii din căsuțe fiind acum , ordonați crescător.