#1687
Se consideră o matrice cu L linii și C coloane care memorează doar valori din mulțimea {0,1,2}. O submatrice nevidă (formată din cel puțin o linie și cel puțin o coloană) a acestei matrice o numim omogenă dacă numărul valorilor de 0 este egal cu numărul de valori de 1 și egal cu numărul valorilor de 2.
Să se determine câte submatrice nevide omogene există.
ONI 2016, clasa a IX-a
| Problema | Omogene | Operații I/O |
omogene.in/omogene.out
|
|---|---|---|---|
| Limita timp | 1.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #59504489 | Utilizator | |
| Fișier | omogene.cpp | Dimensiune | 1.07 KB |
| Data încărcării | 01 Octombrie 2025, 13:55 | Scor/rezultat | Eroare de compilare |
omogene.cpp:7:12: warning: integer overflow in expression [-Woverflow] int a[N][N*N], n, q, l1, l2, r1, r2, v, nr[N][N*N][3], m; ^ omogene.cpp:7:13: error: overflow in constant expression int a[N][N*N], n, q, l1, l2, r1, r2, v, nr[N][N*N][3], m; ^ omogene.cpp:7:13: error: overflow in array dimension omogene.cpp:7:13: error: size of array 'a' is too large omogene.cpp:7:49: warning: integer overflow in expression [-Woverflow] int a[N][N*N], n, q, l1, l2, r1, r2, v, nr[N][N*N][3], m; ^ omogene.cpp:7:53: error: overflow in constant expression int a[N][N*N], n, q, l1, l2, r1, r2, v, nr[N][N*N][3], m; ^ omogene.cpp:7:53: error: overflow in array dimension omogene.cpp:7:53: error: size of array 'nr' is too large omogene.cpp: In function 'int main()': omogene.cpp:15:11: error: 'a' was not declared in this scope fin >> a[i][j]; ^ omogene.cpp:19:10: error: 'a' was not declared in this scope swap(a[i][j], a[j][i]); ^ omogene.cpp:23:4: error: 'nr' was not declared in this scope nr[i][j][a[i][j]]++; ^ omogene.cpp:23:13: error: 'a' was not declared in this scope nr[i][j][a[i][j]]++; ^ omogene.cpp:33:11: error: 'nr' was not declared in this scope n0 += nr[j][k][0] - nr[i - 1][k][0]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Omogene 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ă.