Cow Tipping.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 128M

Author:
Problem type
Allowed languages
C, C++, Java, JS, Pascal, Python, VB

El Granjero Juan tiene ocasionalmente problemas con adolescentes aburridos quienes visitan la granja en la noche y voltean a sus vacas. Una mañana, él se levanta para encontrar lo que ha pasado nuevamente -- sus N^2 vacas comienzan la noche pasteando en un arreglo cuadricular perfecto NxN (1 \le N \le 10), pero él encuentra que algunas de ellas ahora están volteadas.

Afortunadamente, el Granjero Juan ha usado parte su tractor y de un ascensor para construir una máquina gloriosa, la Cow-Untipperator 3000, que puede voltear un gran número de vacas todas al tiempo, ayudándole a poner a sus vacas nuevamente en sus pies tan rápido como sea posible. El puede aplicar la máquina a cualquier "rectángulo superior-izquierdo" en su arreglo de vacas -- un sub-arreglo que contenga a la celda superior izquierda del arreglo donde están las vacas. Cuando él hace esto, la máquina voltea cada vaca en este rectángulo, poniendo a las vacas volteadas de nuevo en sus pies, pero desafortunadamente volteando a las vacas que ya están en sus pies. En otras palabras, la máquina "invierte" el estado de cada vaca en el rectángulo.

El Granjero Juan se imagina que aplicando esta máquina suficientes veces a una colección apropiada de rectángulos, él pued eventualmente puede devolver a todas las vacas a su estados correctos, sin voltear. Por favor, ayúdelo a determinar el número mínimo de aplicaciones a esta máquina que se necesita para hacer esto.

Note que aplicar la máquina al mismo rectángulo dos veces sería inútil, desde que esto no tendría impacto en el rectángulo. Por lo tanto, usted debería considerar aplicar la máquina a cada rectángulo superior-izquierdo posiblemente una sola vez.

Entrada

La primera línea de la entrada es el entero N. Cada una de las siguientes N líneas subsecuentes contiene una cadena de N caracteres, cada uno o 0 (representado una vaca sin voltear) o 1 (representando una vaca volteada).

Salida

Por favor, dé como salida el número mínimo de veces que el Granjero Juan necesita aplicar la Cow-Untipperator 3000 para volver a tener a todas sus vacas de pie.

Ejemplo de Entrada

3
001
111
111

Ejemplo de Salida

2

En este ejemplo, si GJ aplica esta máquina a todo el rebaño de vacas (el cual es un rectángulo superior-izquierdo válido), él invertirá su estado al siguiente:

110
000
000

Todo lo que falta es aplicar la máquina al rectángulo superior-izquierdo conteniendo los dos 1s, y él ha terminado. En total, esto es únicamente 2 aplicaciones.


Comments

There are no comments at the moment.