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