#4384
submatrix1
Miruna a găsit pe fundul mării o matrice cu n
linii şi m
coloane având elementele numere naturale. Din motive necunoscute, Mirunel, prietenul misterios al Mirunei, vrea să afle care este latura celei mai mari submatrice pătratice care conţine maxim k
numere distincte. Submatricea cu colţul stânga-sus (xs, ys)
şi colţul dreapta-jos (xd, yd)
este formată din toate elementele din matrice având indicele liniei în intervalul [xs, xd]
şi indicele coloanei în intervalul [ys, yd]
. Scrieţi un program care să determine latura maximă a unei submatrice care respectă condiţiile lui Mirunel.
ONI 2010 clasele XI-XII
Problema | submatrix1 | Operații I/O |
submatrix.in /submatrix.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #51962869 | Utilizator | |
Fișier | submatrix1.cpp | Dimensiune | 3.77 KB |
Data încărcării | 12 Septembrie 2024, 19:00 | Scor / rezultat | 100 puncte |
submatrix1.cpp: In function 'bool can_add(int, int, int, int, int)': submatrix1.cpp:16:11: warning: suggest parentheses around assignment used as truth value [-Wparentheses] if(dir=1) ^ submatrix1.cpp:21:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(different_count+added.size()<=k)return 1; ^ submatrix1.cpp:27:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(different_count+added.size()<=k)return 1; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0 secunde | OK. | 10 | 10 | ||
6 | 0 secunde | OK. | 10 | 10 | ||
7 | 0.004 secunde | OK. | 10 | 10 | ||
8 | 0.004 secunde | OK. | 10 | 10 | ||
9 | 0.008 secunde | OK. | 10 | 10 | ||
10 | 0 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema submatrix1 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ă.