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ţă
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 sablon.in
conține:
Pe prima linie se găsește o expresie şablon .
Pe a doua linie se găsește un număr natural , ce reprezintă numărul de cuvinte din șir.
Pe fiecare din următoarele linii se găsește câte un cuvânt ().
Date de ieșire
Fişierul de ieșire sablon.out
va conține pe fiecare din primele linii valoarea sau , după cum cuvântul () se potrivește cu expresia şablon .
Restricții și precizări
- ;
- Pentru din teste expresia șablon nu conține caracterul iar lungimea lui și a oricărui cuvânt este între și de caractere.
- Pentru alte din teste lungimile lui și sunt cuprinse între și de caractere.
- Pentru alte din teste lungimile lui și sunt cuprinse între și de caractere.
- Pentru restul de din teste lungimile lui și sunt cuprinse între și de caractere.
Exemplu
sablon.in
a*a?b
7
ababb
aab
aabb
bac
abcaab
abcaab
ababa
sablon.out
1
1
1
0
1
1
0
Explicație
Cuvintele , și se potrivesc cu expresia şablon. Cuvântul se potrivește cu expresia șablon obținută prin eliminarea în prealabil a unuia din caracterele . Cuvintele și nu se pot obține în nicio situație din expresia șablon.