Se consideră alfabetul englez compus din literele mici, de la a
la z
.
Se numeşte cuvânt un şir finit, eventual vid, de litere din acest alfabet.
Se numeşte expresie şablon un şir de caractere din alfabet în care pot apărea și caracterele ?
şi *
.
Un cuvânt se potrivește cu o expresie șablon dacă se poate obține din aceasta astfel:
- caracterul
?
se înlocuiește cu o singură literă din alfabet; - caracterul
*
se înlocuiește cu un cuvânt oarecare, eventual vid; - din expresia șablon se poate elimina sau nu, înainte de a efectua înlocuirea caracterelor
?
și*
, un singur caracter de tip literă.
Cerința
Considerându-se o expresie șablon și un șir de cuvinte, să se determine, pentru fiecare cuvânt în parte, dacă se potrivește sau nu cu expresia şablon dată.
Date de intrare
Fișierul de intrare sablon1.in
conține:
Pe prima linie se găsește o expresie şablon E
.
Pe a doua linie se găsește un număr natural N
, ce reprezintă numărul de cuvinte din șir.
Pe fiecare din următoarele N
linii se găsește câte un cuvânt S[i]
( 1 ≤ i ≤ N
).
Date de ieșire
Fișierul de ieșire sablon1.out
va conține pe fiecare din primele N
linii valoarea 1
sau 0
, după cum cuvântul S[i]
(1 ≤ i ≤ N
) se potrivește cu expresia şablon E
.
Restricții și precizări
1 ≤ N ≤ 10
- Pentru 16% din teste expresia șablon
E
nu conține caracterul*
iar lungimea luiE
și a oricărui cuvântS
este între1
și1000
de caractere. - Pentru alte 16% din teste lungimile lui
E
șiS
sunt cuprinse între1
și20
de caractere. - Pentru alte 32% din teste lungimile lui
E
șiS
sunt cuprinse între1
și100
de caractere. - Pentru restul de 36% din teste lungimile lui
E
șiS
sunt cuprinse între1
și1500
de caractere.
Exemplu:
sablon1.in
a*a?b 7 ababb aab aabb bac abcaab abcaab ababa
sablon1.out
1 1 1 0 1 1 0
Explicație
Cuvintele ababb
, aabb
și abcaab
se potrivesc cu expresia şablon.
Cuvântul aab
se potrivește cu expresia șablon obținută prin eliminarea în prealabil a unuia din caracterele ‘a’
.
Cuvintele bac
și ababa
nu se pot obține în nicio situație din expresia șablon.