Laboratorio 6: "Paint Me and Reverse Nonogram"
Post date: Mar 1, 2013 6:14:26 PM
El objetivo de este laboratorio es implementar en el lenguaje de programación Python 3 una solución a dos problemas de maratón de programación. Para ello, el estudiante deberá modificar unas plantillas dadas que implementan la entrada de los problemas en cada uno de sus formatos, y entregar una solución para cada uno de los problemas asignados.
Siguiendo la plantilla, identifique:
- La función
main();
esta función se encarga de leer la entrada del problema y procesarla; para cada instancia del problema llama la funcióninit()
con los parámetros dados - La función
solve(...)
; esta función se invoca para cada instancia del problema definida por los casos de prueba y sus parámetros dependen de cada problema. Inicialmente esta función está vacia.
Una vez familiarizados con el código de la plantilla :
- Implemente la función
solve(...)
con los parámetros dados en cada una de las plantillas, para cada uno de los siguientes problemas:E - Paint Me
G - Reverse Nonogram
- Pruebe que su solución funciona con los datos de prueba suministrados en el enunciado.
El laboratorio es individual y la instrucciones para la entrega son las siguientes:
- Para cada problema se ha suministrado un archivo de pruebas (con extensión
.in
) - Para cada solución (es decir, para
paintme.py
ynonogram.py
) genere un archivo con las respuestas a los casos de prueba. Por ejemplo, para el problemaE - Paint Me
, ejecute el siguiente comando suponiendo que la soluciónpaintme.py
y los casos de pruebapaintme.in
están en el mismo directorio:(python3 paintme.py < paintme.in) > paintme.out
- Calcule la suma
md5
para cada uno de los dos archivos.out
generados con las instrucciones anteriores. Por ejemplo, para el problemaE - Paint Me
, ejecute el siguiente comando:md5sum paintme.out
Ejecutar el último comando, genera una número hexagesimal de 32 dígitos que corresponde a la suma md5 de cada una de las soluciones.
Cada estudiante debe entregar:
- El código impreso de las dos soluciones
- El encabezado del archivo debe indicar, usando comentarios de Python,
- Su nombre en la primera línea
- Su código de estudiante en la segunda línea
- La suma md5 de los archivos con las respuestas generadas por las soluciones
- El encabezado del archivo debe indicar, usando comentarios de Python,