raganama

Time limit: 0.2s Memory limit: 8MB Input: raganama.in Output: raganama.out

La naşterea unei fete în tribul Ragan Ama părinţii trebuie să îi găsească cel mai frumos nume posibil. Sunt considerate nume frumoase doar anagramele unui cuvânt care, în limba lor, înseamnă “frumoasă ca roua dimineţilor, blândă ca mângâierea vântului printre frunze, binecuvântată de lumina soarelui şi a lunii”.
Viaţa fetei va sta sub o stea norocoasă dacă numele său este cel mai mic din punct de vedere lexicografic, diferit de al oricăreia dintre fetele din trib.

Cerinţă

Fiindcă astăzi în trib s-a născut o fetiţă, scrieţi un program care, cunoscând numele fetelor din trib, rezolvă următoarele cerinţe:

  1. afişează numele pe care părinţii ar trebui să i-l dea fetei pentru ca viaţa să-i stea sub o stea norocoasă;
  2. determină câte nume frumoase, diferite de cele ale fetelor din trib, există.

Date de intrare

Fişierul de intrare raganama.in conţine pe prima linie un număr natural CC, care reprezintă cerinţa care trebuie să fie rezolvată (11 sau 22). Pe următoarele linii se află numele fetelor din trib, câte un nume pe o linie, în ordine lexicografică; toate numele sunt anagrame ale aceluiași cuvânt.

Date de ieşire

Fişierul de intrare raganama.out va conţine o singură linie.

  • Dacă C=1C = 1, pe această linie pe care va fi scris numele pe care părinţii ar trebui să i-l dea fetei.
  • Dacă C=2C = 2, pe această linie va fi scris numărul de nume frumoase, diferite de cele ale fetelor din trib.

Restricţii şi precizări

  • Numele fetelor sunt formate din maximum 100100 de litere mici din alfabetul englez.
  • În trib există maximum 100 000100 \ 000 de fete.
  • O anagramă a unui cuvânt este formată din aceleaşi litere cu cuvântul dat, eventual într-o altă ordine. De exemplu cuvântul “armata” este o anagramă a cuvântului “tamara”.
  • Spunem că un cuvânt a1 a2 ana_1 \ a_2 \dots \ a_n este mai mic din punct de vedere lexicografic decât un cuvânt b1 b2 bnb_1 \ b_2 \dots \ b_n dacă există 1kn1 \leq k \leq n astfel încât ai=bia_i = b_i, pentru orice 1i<k1 \leq i < k şi ak<bka_k < b_k.
  • Se garantează că pentru datele de test există un nume ce poate fi dat fetei nou-născute.
  • Pentru teste valorând 2020 de puncte rezultatul la cerinţa 22 va avea maximum 1818 cifre.
  • Pentru teste valorând 5050 de puncte cerința este 11.

Exemplul 1

raganama.in

1
aacn
aanc
acan
acna
anac
caan
cana

raganama.out

anca

Exemplul 2

raganama.in

2
aacn
aanc
acan
acna
anac
caan
cana

raganama.out

5

Explicație

Există în total 1212 anagrame:

aacn
aanc
acan
acna
anac
anca
caan
cana
cnaa
naac
naca
ncaa

Primul nume în ordine lexicografică care nu aparţine niciunei fete din trib este anca. Dintre cele 1212 anagrame existente, 77 sunt deja numele unor fete din trib, deci mai exista 127=512 - 7 = 5 nume frumoase.

Log in or sign up to be able to send submissions!