Introducción a la Programación
Trimestre 2005 Invierno --- Tarea 6

Viernes 18 de Marzo de 2005 a las 22:00 hrs

Peones atorados

En el juego de ajedrez los peones sólo avanzan de un lado del tablero al lado contrario. Más aun, sólo pueden avanzar una casilla hacia adelante si no tienen a ninguna pieza adelante, o pueden avanzar una casilla en diagonal si en ésta se encuentra una pieza del contrincante. Por supuesto, ningún peón puede moverse hacia afuera del tablero. Dado un tablero cuadrado de N por N en el cual sólamente hay peones negros y blancos (los negros avanzando hacia arriba y los blancos avanzando hacia abajo) podemos determinar la cantidad de cada uno de ellos que no pueden avanzar. Por ejemplo, en el tablero de abajo los peones negros N1, N2 y N4 ni los peones blancos B1 y B2 pueden avanzar.
B1
N2


N1

B2
B3


N3



N4

Especificación

La entrada consiste de un número entero N, que tendrá un valor entre 2 y 100, seguido de una matriz de N por N números enteros en el conjunto {0, 1, 2}. Un 0 significa que no hay ninguna pieza en esa posición, un 1 significa que hay un peón negro y un 2 significa que hay un peón blanco. La salida consiste de dos números enteros P y Q, donde P es el número de peones negros que no pueden avanzar y Q es el número de peones blancos que no pueden avanzar. El nombre de tu programa deberá ser peonesNN.c, donde NN es el número de equipo que les fue asignado. Los archivos peonesNN.o y peonesNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc peonesNN.c -o peones y para probarlo usen la instrucción ./peones y tecleen la entrada deseada seguida de un enter.

Ejemplos

ENTRADA:     SALIDA:     ENTRADA:     SALIDA:
4            3 2         3            1 1
2 1 0 0                  0 1 2
1 0 2 2                  1 2 0
0 0 1 0                  1 2 0
0 0 1 0