Beruflich Dokumente
Kultur Dokumente
TOM Y JERRY
A continuacin Ud. encontrar un problema que debe ser resuelto por equipos de no
ms de dos estudiantes, la solucin final debe ser implementada en un programa escrito
en lenguaje Python. El plazo final de entrega vence impostergablemente el da Viernes
7 de julio a las 21:00 P.M., no se recibirn trabajos despus de la fecha y hora indicada.
La no presentacin del trabajo ser evaluada con 1.0.
El programa (slo cdigo fuente y ningn otro archivo) debe ser subido a la plataforma
virtual, con los autores debidamente identificado en la documentacin interna del
programa (comentarios).
El problema
Como es usual, el gato Tom persigue a Jerry por las habitaciones de una casa sin ningn
xito, pues el maldito roedor conoce todos los recovecos de la mansin. Harto de esta
situacin, Tom se inscribe en un curso de programacin en Python en la UCM, con la
intencin de construir un programa capaz de encontrar el camino ms corto hasta su
ansiada presa sorteando todos los obstculos (paredes, armarios, etc.) que pueda
encontrar.
Supondremos que tanto Tom como Jerry ocupan una casilla dentro de esta superficie.
Los obstculos de la habitacin sern rectngulos de coordenadas vlidas dentro de la
superficie, y se representarn con su vrtice superior izquierdo y el inferior derecho.
Existe la posibilidad que el rectngulo sea en realidad una recta (horizontal o vertical;
por ejemplo, las coordenadas (3, 4) y (3, 6) definen una recta horizontal) o incluso un
punto (cuando las dos coordenadas son iguales).
Se pide construir un programa que procese una entrada que se encuentra en un archivo
llamado entrada.txt, que contenga la configuracin inicial de la casa, y que la dibuje si
es correcta en un archivo llamado salida.txt.
(E4) Vrtices que representan obstculos no cumplen una relacin vlida entre s.
La siguiente lnea viene un nmero que corresponde a la cantidad de obstculo que hay
en la casa.
Las siguientes lneas (una por cada obstculo) vienen las coordenadas de los obstculos
y corresponden a cuatro valores naturales, separados por un espacio en blanco, los dos
primeros valores representan el vrtice superior izquierdo del obstculo (fila - columna)
y los dos restantes el vrtice inferior derecho.
LA SALIDA.
En caso de encontrarse algn error, se deber escribir en el archivo de salida, una nica
lnea con el mensaje "ERROR Ex", siendo la 'x' un nmero entre 0 y 6 que identifica el
tipo de error que se encuentre en la entrada. Si hubiese ms de un error a la vez, se
devolver aquel con cdigo menor; por ejemplo, si el primer error lo provoca un
obstculo que se solapa con alguno de los anteriores y al mismo tiempo ocupa la casilla
de Tom o de Jerry, el cdigo a devolver sera E5.
33 33 33
2233 2232 3223
1 1 2
1221 1223 1122
1223
55 75
1153 1271
2 5
2133 2 1 2 2
1444 2 4 2 4
4 2 4 5
6 1 6 2
6 4 6 4
Tooxo oTooo
xxxxo xxoxo
xxxxo ooooo
oooxo oxxxx
ooJoo ooooo
xxoxo
Joooo