#1206
Placa
Un gard este format din mai multe plăci dreptunghiulare. Fiecare placă este, la rândul ei, construită din NxM
cărămizi. Una dintre plăci ridică o problemă, deoarece este deteriorată. Placa este reprezentată pe hârtie cu ajutorul unei matrice cu N
linii și M
coloane, numerotate de la 1
la N
, respectiv de la 1
la M
. Matricea conține doar valori 0
și 1
, și respectă următoarele reguli:
1
indică prezența în aceea poziție a unei cărămizi, iar un element egal cu 0
indică absența ei;1
și linia N
conțin numai valori egale cu 1
, pentru că marginea de sus și cea de jos a plăcii este intactă;1
, situat în interiorul matricei, se poate ajunge pe linia 1
sau pe linia N
sau pe amândouă, mergând doar în sus sau doar în jos, parcurgând numai valorile egale cu 1
;1
).Se dorește modificarea plăcii și pentru aceasta se pot șterge din matrice maximum K
coloane alăturate. După ștergere se alipesc coloanele rămase și se deplasează pe verticală partea de sus a plăcii spre cea de jos, până când se va forma o coloană stabilă.
Să se determine înălțimea minimă Hmin
pe care o poate avea placa ștergând cel mult K
coloane alăturate. Identificați numărul minim de coloane alăturate care trebuie șterse pentru a obține înălțimea Hmin
.
Problema | Placa | Operații I/O |
placa.in /placa.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
Id soluție | #43020056 | Utilizator | |
Fișier | placa.cpp | Dimensiune | 2.52 KB |
Data încărcării | 27 Martie 2023, 18:07 | Scor / rezultat | 90 puncte |
placa.cpp: In function 'int main()': placa.cpp:36:17: warning: unused variable 'val' [-Wunused-variable] int val = maxi_parti[min(m, i + k)]; /// cautam cea mai din stanga pozitie unde maxi_parti <= val ^ placa.cpp:51:17: warning: unused variable 'val' [-Wunused-variable] int val = maxi_parti[min(m, i + k)]; /// cautam cea mai din stanga pozitie unde maxi_parti <= val ^ placa.cpp:11:21: warning: unused variable 'poz_maxim' [-Wunused-variable] int maxim = -1, poz_maxim = 0; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
1 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
2 | 0.004 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
3 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
4 | 0.016 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
5 | 0.016 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
6 | 0.016 secunde | Cerinta a - gresit. Cerinta b - gresit. | 10 | 0 | ||
7 | 0.012 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
8 | 0.016 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
9 | 0.016 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
Punctaj total | 90 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Placa 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ă.