Introducción a la
Programación
Trimestre 2011 Primavera --- Tarea 6 versión A
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.
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 lista que les fue
asignado.
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
Si quieres hacer más ejemplos puedes usar esta
página
de prueba.