Introducción a la
Programación
Trimestre 2005 Invierno --- Tarea 2
Miércoles 16 de Febrero de 2005
a las 22:00
hrs
Rectángulos dentro de rectángulos
Un niño tiene un juego que consta de diferentes piezas
rectangulares, algunas de las cuales se pueden meter dentro de otras
(tal vez girándolas 90 grados). Por ejemplo, si el niño
tiene en sus manos un rectángulo que mide 2 por 3 unidades
(donde la primera medida es la base y la segunda es la altura) y otro
que mide 4 por 1 unidades, entonces no puede meter ninguno dentro del
otro, pero si el niño tiene en sus manos un rectángulo
que mide 5 por 3 unidades y otro que mide 1 por 4 unidades, entonces
sí puede meter el segundo dentro del primero pero antes
deberá girarlo 90 grados. Finalmente,
si el niño tiene un rectángulo que mide 2 por 3 unidades
y otro que mide 5 por 3 unidades, entonces puede meter el primero
dentro del segundo sin girarlo. Dadas las medidas de dos
rectángulos, A por B unidades las del primero y C por D unidades las del segundo,
deberás determinar si alguno de ellos se puede meter dentro del
otro y, en este caso, si es necesario girarlos.
Especificación
La entrada consiste de cuatro números enteros A, B,
C y D
que tendrán un valor cada uno entre 1 y 2,000,000,000. La salida
consiste de dos números enteros S
y G separados por un espacio.
El valor de S será como
sigue: 0 si ninguno de los dos rectángulos se puede meter dentro
del otro, 1 si el primer rectángulo se puede meter dentro del
segundo y 2 si el segundo rectángulo se puede meter dentro del
primero (y no ocurre ninguno de los
dos casos anteriores). El valor de G
será 1 sólamente si para meter un rectángulo
dentro del otro se debe hacer un giro de 90 grados y el valor
será 0 en cualquier otro caso. El
nombre de su
programa deberá ser giraloNN.c,
donde NN es el
número de equipo
que les fue
asignado. Los archivos giraloNN.o
y giraloNN.exe no deben
ser
entregados. Notas: (a) Su
programa no deberá leer ni escribir nada además de los
datos mencionados anteriormente. (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
giraloNN.c -o giralo y para probarlo usen la instrucción ./giralo y tecleen la entrada
deseada seguida de un enter.
Ejemplos
ENTRADA:
2 3 4 1 ENTRADA: 5 3 1
4 ENTRADA: 2 3 5 3
SALIDA:
0 0 SALIDA: 2
1 SALIDA: 1 0