Generating Words


Submit solution

Points: 100 (partial)
Time limit: 30.0s
Java 8 60.0s
Python 60.0s
Memory limit: 512M

Author:
Problem types
Allowed languages
Ada, Assembly, Awk, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Scala, Swift, VB

El viaje a La Luna de Neil fue muy largo y monótono. Después de 2 días sin hacer mucho en la nave, lo mejor es buscar un entretenimiento. Neil a veces piensa en la posibilidad de encontrar vida extraterrestre. Una de las cosas más importantes es la comunicación, él quisiera que aprendieran la forma de hablar de La Tierra. Por eso, te ha pedido ayuda para generar muchas palabras, para enseñarles a leer y pronunciar.

Primero que todo, las palabras tienen que ser muy sencillas, por lo tanto cumplirán las siguiente condiciones:

  1. Cada palabra está formada por las letras del alfabeto inglés (a-z), en minúsculas.
  2. La primera letra de cada palabra es siempre una consonante.
  3. Después de una consonante, siempre que hay una letra, esta es una vocal (las vocales del alfabeto inglés son: a, e, i, o, u, y).
  4. Después de una vocal, siempre que hay una letra, esta es una consonante (las consonantes del alfabeto inglés son todas las letras que no son vocales).
  5. Serán palabras cortas, su longitud estará entre 2 y 5.

En ocasiones Neil querrá concentrarse en vocales específicas, por tanto, siempre indicará qué vocales desea que se tengan en cuenta para la generación de las palabras.

DESCRIPCIÓN DE LA ENTRADA:

La primera línea de la entrada contiene 2 números enteros L y V. L es la longitud que tendrá la palabra (2 <= L <= 5). V es la cantidad de vocales a tener en cuenta (1 <= V <= 6). La segunda línea de la entrada contiene V vocales diferentes separadas por un espacio.

DESCRIPCIÓN DE LA SALIDA:

Debe imprimir todas las palabras posibles que pueden obtenerse cumpliendo las restricciones mencionadas, que tengan la longitud especificada y contengan solamente las vocales indicadas. Debe imprimir las palabras ordenadas alfabéticamente de menor a mayor, recuerde que "a" < "z". Se imprimirá una sola palabra por línea.

ENTRADA DE EJEMPLO:

2 1
a

SALIDA DE EJEMPLO:

ba
ca
da
fa
ga
ha
ja
ka
la
ma
na
pa
qa
ra
sa
ta
va
wa
xa
za

Comments


  • 3
    JoJo_Cubano_13  commented on Feb. 1, 2024, 7:49 p.m.

    Me divertiría mucho que alguna solución hubiera dado TLE xD

    Edit: Que pereza me dio hacer este problema


  • 0
    Primervirgen  commented on July 23, 2019, 12:56 p.m. edited

    .


    • 8
      BrayanD  commented on July 30, 2019, 8:26 p.m.

      Mete unos cuantos for y prueba todas las cosas