#1198
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:
? se înlocuiește cu o singură literă din alfabet;* se înlocuiește cu un cuvânt oarecare, eventual vid;? și *, un singur caracter de tip literă.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ă.
| Problema | Sablon1 | Operații I/O |
sablon1.in/sablon1.out
|
|---|---|---|---|
| Limita timp | 0.8 secunde | Limita memorie |
Total: 8 MB
/
Stivă 2 MB
|
| Id soluție | #64558825 | Utilizator | |
| Fișier | sablon1.cpp | Dimensiune | 4.06 KB |
| Data încărcării | 14 Mai 2026, 11:27 | Scor/rezultat | Eroare de compilare |
sablon1.cpp: In function ‘bool match_logic(int, int, const std::vector<char>&, const std::vector<Gap>&, const std::string&, std::vector<std::vector<int> >&)’: sablon1.cpp:16:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16 | if (l_idx == letters.size()) { | ~~~~~~^~~~~~~~~~~~~~~~~ sablon1.cpp:22:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22 | if (s_idx >= S.length()) return false; | ~~~~~~^~~~~~~~~~~~~ sablon1.cpp:29:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 29 | if (start_search >= S.length()) return memo[l_idx][s_idx] = 0; | ~~~~~~~~~~~~~^~~~~~~~~~~~~ sablon1.cpp:29:63: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 29 | if (start_search >= S.length()) return memo[l_idx][s_idx] = 0; sablon1.cpp:32:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 32 | if (start_search < S.length() && S[start_search] == letters[l_idx]) { | ~~~~~~~~~~~~~^~~~~~~~~~~~ sablon1.cpp:34:43: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 34 | return memo[l_idx][s_idx] = 1; sablon1.cpp:37:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 37 | for (int i = start_search; i < S.length(); ++i) { | ~~^~~~~~~~~~~~ sablon1.cpp:40:47: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 40 | return memo[l_idx][s_idx] = 1; sablon1.cpp:45:31: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 45 | return memo[l_idx][s_idx] = 0; /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crt1.o: in function \`_start': (.text+0x1b): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Sablon1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.