Problema 3
Promedia, divide o multiplica ¡y vencerás!
pdmv.pas, pdmv.c, pdmv.cpp

Problema
Se tiene una cuadrícula de tamaño m renglones por n columnas con números entre 1 y 1000. En cada iteración, se obtiene un promedio p de la casilla con sus vecinos* (arriba, abajo, derecha e izquierda),  y se truncan los decimales. Si p es par, el nuevo valor de la casilla es p/2; si p es impar será 3p+1. Da la cuadrícula resultante después de las t iteraciones.
*Cuando un número está en la orilla de la cuadricula no tendrá 4 vecinos, por lo cual se deberá promediar con los vecinos que tenga (ver ejemplo).

Entrada
En el primer renglón habrá dos números positivos m y n, 1 ≤ m ≤ 50, 1 ≤ n ≤ 50, indicando la cantidad de renglones y columnas de la cuadrícula.
En cada uno de los siguientes m renglones habrá n números separados por un espacio.
El último renglón tendrá un entero no negativo t, 1 ≤ t ≤ 12, la cantidad de iteraciones.

Salida
Deberá contener m reglones con n números, separados por espacio, la cuadrícula resultante después de t iteraciones.

Ejemplo

entrada salida
2 3
1 3 5
2 4 7
1
1 10 16
1 2 16
2 3
1 3 5
2 4 7
2
2 22 7
4 22 34
2 3
1 3 5
2 4 7
3
28 40 64 
28 10 64

 


Concurso: 12a OMI, Aguascalientes - Examen Final (2a parte).15/Abril/2007
Propuesto por: Pier Paolo Guillén Hernández
Ayuda: entradas, salidas, sugerencias
Soluciones: pdmv.pas, pdmv.c, pdmv.cpp


World of πer