0000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
0000001111111111111100000000000000000011111111111111100000000000000000
0000001111111111111100000000000000000011111111111111100000000000000000
0000001111111111111100000000000000000011111111111111100000000000000000
0000001111111111111100000000000000000011111111111111100000000000000000
0000000000000000000000000000000000000011111111111111100000000000000000
0000000000000000000000000000000000000011111111111111100000000000000000
0000000000011111100000000000000000000011111111111111100000000000000000
0000000000011111100000000000000000000011111111111111100000000000000000
0000000000011111100000000000000000000011111111111111100000000000000000
0000000000000000000000000000000000000011111111111111100000000000000000
0000000000000000000000000000000000000011111111111111100000000000000000
0000000000000111111000000000000000000011111111111111100000000000000000
0000000000000100001000000111111000000011111111111111100000000010000000
0000000000000100001000000111111000000000000000000000011000000000000000
0000000000000111111000000111111000000000000000000000011000000000000000
0000000000000000000000000000111111000000000000000000000000000000000000
0000000000000000000000000000111111000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
Se le proporciona una matriz bidimensional de bytes de tamaño mx n. Se garantiza que todos los bytes son 1 o 0. Encuentre el número de rectángulos representados por 1 cuando se ve en 2d, como se muestra arriba.
Solo los rectángulos completamente rellenos se consideran para contar.
Los rectángulos deben estar rodeados por 0 a menos que estén en el borde (los rectángulos que tocan diagonalmente 1 están bien, sin embargo (ver ejemplo)).
Por ejemplo, en la matriz anterior hay 5 rectángulos válidos.
Puedes usar cualquier idioma.
1
Creo que una mejor manera de expresarlo es decir que: los rectángulos deben estar rodeados por
—
ceros
Hecho. Gracias por redactarlo en un mejor inglés.
—
microbio
¿Qué hay de
—
Cruncher
1100\n1100\n0011\n0011
?
Creo que por eso escribí 'adyacente / superpuesto'. Estos son 2 rectángulos válidos de mi intención inicial. Pero la condición 'circundante' los está restringiendo ahora. ¿Tiene una mejor manera de explicarlo
—
Microbian
Incluso en adyacente es ambiguo si diagonal significa adyacente o no. La misma ambigüedad, ya sea rodeada o no, significa, rodeada en las esquinas o solo a los lados
—
Cruncher