Albornoz y el Ajedrez


Submit solution

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

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Pascal, Prolog, Swift, VB

Albornoz decidió jugar un clásico juego de ajedrez. ¡Aunque lo que vio en su casillero lo sorprendió! Su tablero de ajedrez favorito se rompió en 4 piezas, cada una de tamaño \(n×n\), n siempre es impar. Y lo que es peor, algunos cuadrados eran de color equivocado. El \(j-ésimo\) cuadrado de la \(i-ésima\) fila de la \(k-ésima\) pieza del tablero tiene color a[k][i][j] ; 1 siendo negro y 0 siendo blanco.

Ahora Albornoz quiere cambiar el color de algunos cuadrados de tal manera que re-coloree el número mínimo de cuadrados y las piezas obtenidas formen un tablero de ajedrez válido. Cada cuadrado tiene su color diferente a cada uno de los cuadrados vecinos adyacentes en un tablero válido. Su tamaño debe ser \(2n×2n\). Se le permite mover piezas pero no se le permite rotarlas o voltearlas.

Entrada

La primera línea contiene un entero impar n (1 \leq n \leq 100) - el tamaño de todas las piezas del tablero.

Luego siguen 4 segmentos, cada uno describe una pieza del tablero. Cada una consta de n líneas de n caracteres; el \(j-ésimo\) carácter de la \(i-ésima\) línea es igual a 1 si el cuadrado es negro inicialmente y 0 de lo contrario. Los segmentos están separados por una línea vacía.

Salida

Imprima un número: la cantidad mínima de cuadrados que Albornoz debe cambiar de color para poder obtener un tablero de ajedrez válido.

Ejemplo de Entrada 1

1
0

0

1

0

Ejemplo de Salida 1

1

Ejemplo de Entrada 2

3
101
010
101

101
000
101

010
101
011

010
101
010

Ejemplo de Salida 2

2

Comments

There are no comments at the moment.