Debug

Al debugar un programa Mirko se ha dado cuenta de un bug que está
relacionado con los llamados “cuadrados asesinos” en la memoria del
programa. La memoria del programa es una matriz compuesta de R filas y C
columnas de valores 0 y 1. Un cuadrado asesino es una submatriz dentro
de la memoria, de más de un caracter que, al rotarla 180 grados, es
idéntica a ella misma. Por ejemplo, la siguiente matriz contiene 3
cuadrados asesinos:

3.5cm

101010
111001
101001
 
Memoria

3.5cm

....10
....01
......
 
Cuadrado
asesino

3.5cm

......
...00.
...00.
 
Cuadrado
asesino

3.5cm

101...
111...
101...
 
Cuadrado
asesino

Mirko se pregunta si hay una conexión entre el tamaño del cuadrado
asesino más grande y el bug en su programa. Ayúdale escribiendo un
programa que, dada una distribución de bits en la memoria, encuentre el
tamaño del cuadrado asesino más grande. Por ejemplo, el cuadrado asesino
más grande del ejemplo anterior tenía tamaño 3.

Entrada

Una línea con dos enteros R y C, menores o iguales a 300. Las siguientes
R líneas contienen cada una C caracteres ’0’ o ’1’, sin espacios.

Salida

Escribe el tamaño del mayor cuadrado asesino en una única línea, o
escribe −1 si no hay ningún cuadrado asesino.

Información del problema

Autoría: COCI06/07

Generación: 2026-01-25T10:26:21.271Z

© Jutge.org, 2006–2026.
https://jutge.org
