Sari la conținut
Zece la Info
Probleme

Bacalaureat Simulare 2024, S3.2 - Generarea unei fraze din sablon

Medie 1500 ms 64 MB#bacalaureat#2024#simulare#subiectul3

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

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.