Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-04-25 12:44:32.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:zimeria.in, zimeria.outSursăONI 2014, clasa a 10-a
AutorDaniel PopaAdăugată detudorv96Tudor Varan tudorv96
Timp execuţie pe test0.15 secLimită de memorie8192 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Zimeria

Olimpia D’Info a găsit o placă gravată ce conţine mai multe cuvinte scrise cu semne grafice necunoscute, fiecare cuvânt fiind format din exact 5 semne grafice. Studiind cu atenţie cuvintele, a dedus că în scrierea acestora sunt utilizate 12 semne grafice distincte şi a asociat câte o literă mică din alfabetul englez fiecărui semn. După asociere, a stabilit pentru fiecare semn o complexitate, scriind literele în ordinea crescătoare a complexităţilor pe care le-a stabilit anterior. Olimpia consideră că această ”complexitate” este cel mai potrivit criteriu de ordonare lexicografică.

Cerinţe

Cunoscând ordinea semnelor şi cuvintele de pe placă determinaţi:
a) Numărul de cuvinte distincte existente pe placă.
b) Şirul de cuvinte ordonat lexicografic, conform criteriului formulat de Olimpia.

Date de intrare

Fişierul de intrare zimeria.in conţine:
[x] pe prima linie un numărul natural p = 1 sau p = 2, reprezentând varianta cerinţei de rezolvare;
[x] pe a doua linie un număr natural n reprezentând numărul de cuvintede pe placă;
[x] pe a treia linie 12 caractere, litere mici ale alfabetului englez, care reprezintă semnele codificate, în ordinea lexicografică a semnelor;
[x] pe fiecare din următoarele n linii câte un cuvânt.

Date de ieşire

 Dacă valoarea lui p este 1, atunci se va rezolva numai punctul a) din cerinţă.
În acest caz, fişierul de ieşire zimeria.out va conţine pe prima linie numărul de cuvinte distincte de pe placă.
 Dacă valoarea lui p este 2, atunci se va rezolva numai punctul b) din cerinţă.
În acest caz, fişierul de ieşire zimeria.out va conţine n linii, pe fiecare linie câte un cuvânt în ordine lexicografică, conform complexităţii stabilite de către Olimpia.

Restricţii

  • n < 400000;
  • 30% din teste vor avea pe prima linie valoarea 1, iar restul de 70% din teste vor avea pe prima linie valoarea 2.

Exemplu

zimeria.inzimeria.out
1
5
qwertyuiopas
reeet
wyuty
reeet
oiopp
oiopp
3
2
5
qwertyuiopas
oiopp
reeet
wyuty
reeet
oiopp
wyuty
reeet
reeet
oiopp
oiopp

Explicaţie

Pentru primul exemplu placa conţine 3 cuvinte distincte.

Pentru al doilea exemplu Ordonăm cuvintele şi obţinem wyuty, reeet, reeet, oiopp,
oiopp.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?