#2058
Submat
Se consideră o matrice A
având N
linii și N
coloane. Elementele acesteia aparțin mulțimii {0,1,2}
. Pe fiecare linie și pe fiecare coloană valorile elementelor sunt dispuse crescător.
Fie două elemente din matrice situate pe linia i1
și coloana j1
respectiv i2
și j2
,unde i1≤i2
și j1≤j2
. O submatrice a lui A
, având colțurile stânga-sus şi dreapta-jos în (i1,j1)
și (i2,j2)
, este formată din toate elementele situate pe linii cuprinse între i1
și i2
, inclusiv, și coloane între j1
și j2
, inclusiv. Numim submatrice constantă o submatrice a matricei A
, având toate elementele egale.
Realizați un program care determină numărul maxim K
de elemente pe care îl are o submatrice constantă a lui A
și numărul submatricilor constante formate din K
elemente.
ONIGIM 2017, Clasa a VII-a
Problema | Submat | Operații I/O |
submat.in /submat.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 32 MB
|
Id soluție | #55054360 | Utilizator | |
Fișier | submat.cpp | Dimensiune | 3.22 KB |
Data încărcării | 18 Decembrie 2024, 21:30 | Scor / rezultat | 100 puncte |
submat.cpp: In function 'int main()': submat.cpp:25:22: warning: format '%ld' expects argument of type 'long int*', but argument 3 has type 'int*' [-Wformat=] fscanf(f,"%ld",&n); ^ submat.cpp:28:62: warning: format '%ld' expects argument of type 'long int*', but argument 3 has type 'int*' [-Wformat=] fscanf(f,"%ld%ld",&primacoloana1[i],&primacoloana2[i]); ^ submat.cpp:28:62: warning: format '%ld' expects argument of type 'long int*', but argument 4 has type 'int*' [-Wformat=] submat.cpp:116:41: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat=] fprintf(g,"%ld %ld\n",nrelemax,ctmax); ^ submat.cpp:116:41: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Wformat=] submat.cpp:25:23: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%ld",&n); ^ submat.cpp:28:63: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%ld%ld",&primacoloana1[i],&primacoloana2[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 2 | 2 | ||
1 | 0 secunde | OK. | 2 | 2 | ||
2 | 0 secunde | OK. | 2 | 2 | ||
3 | 0 secunde | OK. | 2 | 2 | ||
4 | 0 secunde | OK. | 2 | 2 | ||
5 | 0 secunde | OK. | 3 | 3 | ||
6 | 0 secunde | OK. | 2 | 2 | ||
7 | 0 secunde | OK. | 3 | 3 | ||
8 | 0 secunde | OK. | 2 | 2 | ||
9 | 0 secunde | OK. | 3 | 3 | ||
10 | 0 secunde | OK. | 2 | 2 | ||
11 | 0 secunde | OK. | 2 | 2 | ||
12 | 0 secunde | OK. | 2 | 2 | ||
13 | 0 secunde | OK. | 2 | 2 | ||
14 | 0 secunde | OK. | 2 | 2 | ||
15 | 0 secunde | OK. | 2 | 2 | ||
16 | 0 secunde | OK. | 3 | 3 | ||
17 | 0 secunde | OK. | 2 | 2 | ||
18 | 0 secunde | OK. | 3 | 3 | ||
19 | 0 secunde | OK. | 2 | 2 | ||
20 | 0 secunde | OK. | 2 | 2 | ||
21 | 0 secunde | OK. | 2 | 2 | ||
22 | 0 secunde | OK. | 3 | 3 | ||
23 | 0 secunde | OK. | 2 | 2 | ||
24 | 0 secunde | OK. | 3 | 3 | ||
25 | 0 secunde | OK. | 2 | 2 | ||
26 | 0 secunde | OK. | 3 | 3 | ||
27 | 0 secunde | OK. | 2 | 2 | ||
28 | 0 secunde | OK. | 3 | 3 | ||
29 | 0 secunde | OK. | 2 | 2 | ||
30 | 0 secunde | OK. | 2 | 2 | ||
31 | 0 secunde | OK. | 3 | 3 | ||
32 | 0 secunde | OK. | 2 | 2 | ||
33 | 0.004 secunde | OK. | 2 | 2 | ||
34 | 0.004 secunde | OK. | 3 | 3 | ||
35 | 0 secunde | OK. | 2 | 2 | ||
36 | 0 secunde | OK. | 2 | 2 | ||
37 | 0 secunde | OK. | 3 | 3 | ||
38 | 0 secunde | OK. | 2 | 2 | ||
39 | 0 secunde | OK. | 2 | 2 | ||
40 | 0 secunde | OK. | 2 | 2 | ||
41 | 0.004 secunde | OK. | 3 | 3 | ||
42 | 0 secunde | OK. | 3 | 3 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Submat 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ă.