Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-04-19 17:08:38.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:pitici5.in, pitici5.outSursăInfoarena Monthly 2014, Runda 4
AutorAndrei Cristian LambruAdăugată demaritimCristian Lambru maritim
Timp execuţie pe test0.1 secLimită de memorie8192 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Pitici5

Intr-o padure traiesc doua tipuri de pitici: de culoare alba si de culoare neagra. Ei doresc sa se aseze in sir indian, dar din pacate pentru fiecare pitic are o pretentie si anume vrea sa vada in fata lui un pitic de o anume culoare, ori alba, ori neagra. Cum ei sunt foarte incapatanati vor sa gaseasca o asezare care sa respecte pretentiile fiecaruia dintre ei, dar cum ei nu stiu algoritmica va roaga pe voi sa le scrieti un program prin care sa creati pentru ei o astfel de asezare. Ei am mentionat daca veti reusi sa ii ajutati va vor oferi 100 de puncte.

Cerinta

Fiind dat numarul N de pitici si pe rand cate un pitic, in ordinea in care se afla acum (ei au apucat sa se alinieze in sir indian si apoi si-au dat seama ca unii dintre ei au anumite pretentii), trebuie sa gasiti o asezare posibila care respecta toate restrictiile de mai sus. Mai mult decat atat, putem sa-i atribuim fiecarui pitic un numar natural in functie de pozitia pe care se afla in sir, mai precis piticul de pe pozitia 1 i se atribuie numarul 1, piticului de pe pozitia 2 i se atribuie numarul 2 si asa mai departe... ). Se cere ca sirul de valori atribuite fiecarui pitic, dupa reasezarea celor N pitici, sa fie minima lexicografica (vedeti exemplul pentru o intelegere mai buna). Se mai stie ca primul pitic este de culoare G si nu se afla printre piticii initiali si mai mult decat atat nu are nicio pretentie.

Date de intrare

Fişierul de intrare pitici5.in contine pe prima linie valoarea N, reprezentand numarul de pitici si un caracter G ce reprezinta culoarea primului pitic care va ramane primul si dupa reordonare, ceilalti urmand sa se aseze in spatele lui. Aceast caracter va avea fie valoarea 'A', ce va insemna ca primul pitic are culoarea alba, fie valoarea 'B' ceea ce va inseamna ca acesta va avea culoarea neagra.

Pe urmatoarele N linii se vor afla exact doua caractere separate prin cate un spatiu. Fiecare din aceste perechi de caractere vor fi informatiile corespunzatoare fiecarui pitic. Primul caracter va pastra culoarea pe care vrea sa o aiba piticul in fata sa, iar cel de-al doilea caracter va pastra culoarea proprie a piticului respectiv.

Date de ieşire

În fişierul de ieşire pitici5.out se va afisa pe prima si singura linie o permutare a primelor N numere naturale ce va reprezentarea reordonarea primililor N pitici astfel incat sa se respecte restrictiile acestora, iar reasezarea sa fie minima lexicografica.

Restricţii

  • 1 ≤ N ≤ 100 000
  • Spunem că un drum A=(a 1,a 2,..,a R+C-1) este mai mic lexicografic decât un drum B=(b 1, b 2,..,b R+C-1) dacă există o poziţie p astfel încât x p < y p şi x 1 = y 1, x 2 = y 2,..., x p-1 = y p-1.

Exemplu

pitici5.inpitici5.out
6 A
N N
A A
N A
A N
N N
A N
2 4 1 3 6 5

Explicaţie

Primul pitic din sir este deja fixat si are culoarea alba. Urmatorii N pitici se vor reaseza in felul urmator: cel de-al doilea pitic va fi primul, cel de-al patrulea pitic va deveni al doilea, primul pitic va fi al treilea dupa reasezare si asa mai departe... Sirul pozitiilor initiale rezultat dupa o asezare care respecta toate restrictiile celor N pitici este 2 4 1 3 6 5. Mai sunt posibile si alte reasezari ale piticilor (de exemplu 2 4 1 5 3 6), dar sirurile rezultate de acestea sunt mai mari lexicografic decat acesta.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?