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
. De exemplu, în matricea
0 1 2 0 1 2 0 1
sunt șase submatrice omogene, acestea fiind:
0 1 2 1 2 0
1 2 0 2 0 1
0 1 2
1 2 0
1 2 0
2 0 1
Submatricele a treia și a patra sunt formate din prima linie a matricei inițială, iar submatricele a cincea și a șasea sunt formate din a doua linie.
Cerința
Să se determine câte submatrice nevide omogene există.
Date de intrare
Fișierul de intrare omogene.in
conține pe prima linie numerele naturale L
și C
. Pe următoarele L
linii se află câte C
numere naturale separate prin spații reprezentând câte o linie din matrice.
Date de ieșire
Fișierul de ieșire omogene.out
va conține pe prima linie un singur număr natural reprezentând numărul submatricelor nevide omogene.
Restricții și precizări
2 <= L <= C <= 5000
4 <= L * C <= 65536
- Atenție, o submatrice este formată dintr-o secvență continuă de linii și coloane, deci, de exemplu, dacă se aleg dintr-o matrice liniile
1
,2
și5
, atunci acestea nu formează o submatrice. - Numărul submatricelor omogene va fi mai mic decât
2*10
9
- Întreaga matrice poate fi submatrice omogenă
Exemplul 1
omogene.in
2 4 0 1 2 0 1 2 0 1
omogene.out
6
Explicație
Cele șase submatrice au fost menționate în enunț.
Exemplul 2
omogene.in
3 3 0 1 2 0 2 2 0 1 1
omogene.out
3