#4197
Alice tocmai s-a decis să-și impresioneze fratele mai mic, Bob, cu abilitățile sale de deducție matematică. Astfel, ea așează într-o matrice cu N linii și M coloane toate numerele 1, 2, …, N × M, astfel încât fiecare linie și respectiv fiecare coloană, să fie sortată strict crescător. O matrice cu aceste proprietăți se numește o matrice AB. Alice îi cere apoi lui Bob să elimine K valori din matrice, care sa nu fie adiacente orizontal sau adiacente vertical. Apoi, ea va încerca să reintroducă aceste K valori în matrice astfel încât sa rămână o matrice AB. După câteva încercări, Alice realizează că, în anumite situații pot exista mai multe moduri de a aranja cele K numere pe pozițiile libere. Scrieți un program care, cunoscând matricea AB inițială și Q interogări, constând fiecare dintr-o listă de elemente eliminate din matrice, determină pentru fiecare interogare dacă există o soluție unică de a aranja elementele eliminate în matrice astfel încât aceasta să fie matrice AB.
JBOI 2022
| Problema | ab | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
| Id soluție | #58878975 | Utilizator | |
| Fișier | ab.cpp | Dimensiune | 2.24 KB |
| Data încărcării | 26 August 2025, 22:10 | Scor/rezultat | Eroare de compilare |
ab.cpp: In function 'int main()': ab.cpp:26:18: error: expected unqualified-id before '[' token auto [x, y] = pos[v[i]]; ^ ab.cpp:27:18: error: 'x' was not declared in this scope mark[x][y] = 1; ^ ab.cpp:27:21: error: 'y' was not declared in this scope mark[x][y] = 1; ^ ab.cpp:32:18: error: expected unqualified-id before '[' token auto [x, y] = pos[v[i]]; ^ ab.cpp:35:25: error: 'y' was not declared in this scope int left = (y > 0 && !mark[x][y-1]) ? a[x][y-1] : -1; ^ ab.cpp:35:40: error: 'x' was not declared in this scope int left = (y > 0 && !mark[x][y-1]) ? a[x][y-1] : -1; ^ ab.cpp:61:18: error: expected unqualified-id before '[' token auto [x, y] = cells[i]; ^ ab.cpp:64:25: error: 'y' was not declared in this scope int left = (y > 0 && !mark[x][y-1]) ? a[x][y-1] : -1; ^ ab.cpp:64:40: error: 'x' was not declared in this scope int left = (y > 0 && !mark[x][y-1]) ? a[x][y-1] : -1; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ab 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ă.