#3716
Se dă o matrice de rebus cu n linii și m coloane. Fiecare celulă conține unul dintre caracterele:
'+' – celulă blocată (nu poate conține literă)'-' – celulă liberă (trebuie completată cu o literă)De asemenea, se dă o listă de W cuvinte (formate doar din litere mari A-Z) care trebuie completate în rebus.
Un cuvânt poate fi plasat:
într-un segment maximal de celule '-' consecutive (numit slot). Lungimea cuvântului trebuie să fie egală cu lungimea slotului.
Două cuvinte se pot intersecta (o celulă poate aparține atât unui slot orizontal, cât și unuia vertical), dar în acest caz litera rezultată în acea celulă trebuie să coincidă pentru ambele cuvinte.
Fiecare cuvânt din listă trebuie folosit exact o singură dată.
hackerrank.com (modificată)
| Problema | Crossword | Operații I/O |
crossword.in/crossword.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 64 MB
|
| Id soluție | #64259318 | Utilizator | |
| Fișier | crossword.cpp | Dimensiune | 6.22 KB |
| Data încărcării | 26 Aprilie 2026, 20:34 | Scor/rezultat | 0 puncte |
crossword.cpp: In function ‘bool ok(int)’: crossword.cpp:40:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (int i = 0; i < slotK.intersections.size(); i++) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ crossword.cpp: In function ‘void print()’: crossword.cpp:67:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slot>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 67 | for (int k = 0; k < slots.size(); k++) | ~~^~~~~~~~~~~~~~ crossword.cpp:68:16: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else] 68 | if (slots[k].i == i) | ^ crossword.cpp:74:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slot>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 74 | for (int k = 0; k < currentVerticalSlots.size(); k++) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ crossword.cpp:94:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slot>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 94 | for (int k = 0; k < currentVerticalSlots.size(); k++) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ crossword.cpp: In function ‘void bck(int)’: crossword.cpp:119:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 119 | for (int i = 0; i < words.size(); i++) | ~~^~~~~~~~~~~~~~ crossword.cpp:123:27: warning: comparison of integer expressions of different signedness: ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 123 | if (word.length() != slot.len) | ~~~~~~~~~~~~~~^~~~~~~~~~~ crossword.cpp:133:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 133 | if (k == words.size() - 1) | ~~^~~~~~~~~~~~~~~~~~~ crossword.cpp: In function ‘int main()’: crossword.cpp:202:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slot>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 202 | for (int i = 0; i < slots.size(); i++) | ~~^~~~~~~~~~~~~~ crossword.cpp:237:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slot>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 237 | for (int i = 0; i < slots.size(); i++) | ~~^~~~~~~~~~~~~~ crossword.cpp:153:10: warning: variable ‘linesContainingSlots’ set but not used [-Wunused-but-set-variable] 153 | bool linesContainingSlots[n]; | ^~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.002 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
| 2 | 0.001 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
| 3 | 0.002 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
| 4 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 5 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 6 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 7 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 8 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 9 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 10 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 11 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 12 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 13 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 14 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 15 | 0.001 secunde | Raspuns gresit. | 2 | 0 | ||
| 16 | 0.005 secunde | Raspuns gresit. | 2 | 0 | ||
| 17 | 0.003 secunde | Raspuns gresit. | 2 | 0 | ||
| 18 | 0.003 secunde | Raspuns gresit. | 2 | 0 | ||
| 19 | 0.005 secunde | Raspuns gresit. | 2 | 0 | ||
| 20 | 0.017 secunde | Raspuns gresit. | 2 | 0 | ||
| 21 | 0.008 secunde | Raspuns gresit. | 5 | 0 | ||
| 22 | 0.011 secunde | Raspuns gresit. | 5 | 0 | ||
| 23 | 0.012 secunde | Raspuns gresit. | 5 | 0 | ||
| 24 | 0.012 secunde | Raspuns gresit. | 5 | 0 | ||
| 25 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 26 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 27 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 28 | 0.004 secunde | Raspuns gresit. | 4 | 0 | ||
| 29 | 0.011 secunde | Raspuns gresit. | 4 | 0 | ||
| 30 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 31 | 0.007 secunde | Raspuns gresit. | 4 | 0 | ||
| 32 | 0.015 secunde | Raspuns gresit. | 3 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Crossword 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ă.