Por Nacho Cabanes
Nivel de dificultad aproximado (1 a 5): 3
Historial ayer borrado, anteayer hubo pecado.
El texto anterior es un pareado: una estrofa con dos versos que riman entre sí con rima consonante. ¿Sabrías hacer un programa que identifique distintos tipos de estrofa?
En concreto, nos bastará con identificar las rimas (no tendremos en cuenta el número de sílabas de cada verso), existiendo dos rimas distintas:
Por ejemplo, el siguiente cuarteto de Diego de Silva y Mendoza:
Una, dos, tres estrellas, veinte, ciento, | (A) |
mil, un millón, millares de millares, | (B) |
¡válgame Dios, que tienen mis pesares | (B) |
su retrato en el alto firmamento! | (A) |
tiene esquema ABBA consonante, pues coinciden las vocales y consontantes del primer y último verso, así como las del segundo y tercero.
Nos piden ser capaces de identificar los siguientes tipos de estrofa:
Entrada
La entrada estará formada por un número indeterminado de casos de prueba. Cada caso de prueba comienza con una línea que contiene un único entero con el número de versos del siguiente poema. A continuación aparecen tantas líneas como versos contiene la estrofa a analizar. Podemos asumir que la última palabra de cada verso es llana (la vocal acentuada está en la penúltima sílaba), y que ninguno tendrá más de 70 letras. La entrada no contendrá tildes para facilitar la programación, aunque esto signifique cometer errores ortográficos. Tampoco tendremos en cuenta que distintos elementos gráficos pueden tener el mismo sonido. Es decir, un verso terminado en -aba, no rimará de forma consonante con un verso terminado en -ava.
La entrada termina cuando el siguiente caso de prueba contiene 0 versos. Para ese caso de prueba no se generará ninguna salida.
Salida
Para cada caso de prueba el programa indicará el nombre de la estrofa, utilizando mayúsculas (PAREADO, TERCETO, CUARTETO, CUARTETA, SEGUIDILLA, CUADERNA VIA) o la palabra DESCONOCIDO si no conoce la estrofa dada.
Notas
El enunciado ha hecho simplificaciones en las definiciones de las estrofas encaminadas a hacer el ejercicio más sencillo; ejemplos de esto son no considerar el número de sílabas, manejar sólo palabras llanas, tener faltas de ortografía, etc. El resultado ha sido unas definiciones que poco tienen que ver con las aceptadas en la literatura. Por favor, no utilices el programa final delante de un experto en poesía.
(Asegúrate de que has leído las preguntas frecuentes antes de plantear tu solución)
Entrada de ejemplo
2 Historial ayer borrado anteayer hubo pecado 2 Esto no pega ni con cola. 4 Era un simple clerigo, pobre de clerecia, dicie cutiano missa de la sancta Maria; non sabie decir otra, diciela cada dia, mas la sabie por uso qe por sabiduria. 3 Un manotazo duro, un golpe helado, un hachazo invisible y homicida, un empujon brutal te ha derribado. 0Salida de ejemplo
PAREADO DESCONOCIDO CUADERNA VIA TERCETO
Original en: Acepta el reto, problema 110