Un sablon este un text in care cuvintele sunt separate prin cate un spatiu si sunt formate fie numai din litere mici si mari ale alfabetului englez, fie numai din caractere *, in ultimul caz numindu-se cuvinte generice. Lungimea unui cuvant este egala cu numarul de caractere care il compun.
Un computer genereaza o fraza pe baza unui astfel de sablon, prin inlocuirea fiecarui cuvant generic cu unul dintre cuvintele de aceeasi lungime, preluat dintr-o lista data.
Scrieti un program C/C++ care citeste de la tastatura un numar natural, n (n in [1,100]), si o lista de n cuvinte (fiecare pe cate o linie), urmata de un sablon de tipul precizat. Programul obtine in memorie si apoi afiseaza pe ecran una dintre frazele care pot fi generate pe baza sablonului si a listei citite (inlocuind fiecare cuvant generic cu primul cuvant din lista avand lungimea potrivita) sau mesajul imposibil daca nu se poate genera o astfel de fraza.
Exemplu: daca n=6, lista de cuvinte este rece, placuta, acasa, calduta, innorata, soare, iar sablonul este *** o vreme ******* si ************ se afiseaza pe ecran mesajul imposibil (nu exista niciun cuvant din lista cu 3 litere).
- Date de intrare
- Pe prima linie n. Urmeaza n linii cu cate un cuvant. Pe ultima linie se citeste sablonul.
- Date de iesire
- Fraza generata (inlocuind fiecare cuvant generic cu primul cuvant potrivit din lista, in ordinea din lista), sau mesajul 'imposibil' daca vreun cuvant generic nu are corespondent de aceeasi lungime in lista.
- Restrictii
- 1 <= n <= 100, fiecare cuvant din lista are cel mult 10 litere, sablonul are cel mult 100 de caractere
Exemple
Exemplul 1
Intrare
6 rece placuta acasa calduta innorata soare Era o vreme ******* si ***** din belsug *****
Iesire
Era o vreme placuta si acasa din belsug acasa
Exemplul 2
Intrare
6 rece placuta acasa calduta innorata soare *** o vreme ******* si ************
Iesire
imposibil

