#4197
ab
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 | #47329406 | Utilizator | |
Fișier | ab.cpp | Dimensiune | 2.08 KB |
Data încărcării | 10 Decembrie 2023, 09:21 | Scor / rezultat | Eroare de compilare |
ab.cpp: In function 'bool has_unique_solution(std::vector<std::vector<int> >&, std::vector<int>&, int, int)': ab.cpp:20:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < removed_values.size(); ++i) { ^ ab.cpp:22:14: error: expected unqualified-id before '[' token auto [x, y] = pos[val]; ^ ab.cpp:29:32: error: 'x' was not declared in this scope int newX = x + dx, newY = y + dy; ^ ab.cpp:30:40: error: 'newY' was not declared in this scope if (is_valid(newX, newY, N, M) && matrix[newX][newY] == -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ă.