Introducción a la Programación
Trimestre 2005 Invierno --- Tarea 7

Lunes 28 de Marzo de 2005 a las 22:00 hrs

Sopa de Letras

Aunque eres un fanático de resolver las sopas de letras, hay ocasiones en las que quisieras un poco de ayuda computacional para encontrar las palabras escondidas. Vamos a suponer que tienes una sola palabra P que quieres encontrar en otra cadena S. Como sabes, la palabra P puede aparecer escrita en S tanto al derecho como al revés. Por ejemplo, si buscas la palabra AVE en la cadena AAVEEEVAVEVAEVEVAVEVVVEAVE la podrás encontrar al derecho (aAVEeevAVEvaevevAVEvvveAVE) y al revés (aaveeEVAvEVAevEVAvevvveave). Tu tarea consiste en escribir un programa que, dadas la palabra P y la cadena S, determine si P aparece al derecho y al revés en S.

Especificación

La entrada consiste de dos cadenas P y S, cada una en un renglón y formadas por entre 1 y 100 letras mayúsculas ('A' a 'Z' sin incluir los acentos ni la 'Ñ'). La salida consiste de dos números enteros D y R, separados por un espacio, donde D = 1 si P aparece al derecho en S y D = 0 en caso contrario, y R = 1 si P aparece al revés en S y R = 0 en caso contrario. El nombre de tu programa deberá ser letrasNN.c, donde NN es el número de equipo que les fue asignado. Los archivos letrasNN.o y letrasNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados. (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 letrasNN.c -o letras y para probarlo usen la instrucción ./letras y tecleen la entrada deseada seguida de un enter.

Ejemplos

ENTRADA:                       SALIDA:     ENTRADA:     SALIDA:     ENTRADA:     SALIDA:
AVE                            1 1         ERA          0 1         CASA         0 0
AAVEEEVAVEVAEVEVAVEVVVEAVE                 TAREA                    NO