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:
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ă.
Fişierul de intrare sablon.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 \leq i \leq N $ )
Fişierul de ieșire sablon.out va conține pe fiecare din primele $N$ linii valoarea $1$ sau $0$, după cum cuvântul $S_i$ ($1 \leq i \leq N$) se potrivește cu expresia şablon $E$.
sablon.in
a*a?b 7 ababb aab aabb bac abcaab abcaab ababa
sablon.out
1 1 1 0 1 1 0
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.
| Autor: | Radu Vișinescu |
| Publicat de: | raresgherasa |
Tags:
Programare dinamică