Silabando P68422


Statement
 

pdf   zip

thehtml

Pongamos que, después de muchos años de esfuerzo, has conseguido aprender unos pocos kanas japoneses (símbolos que representan sílabas). De aquí a aprender japonés todavía hay un largo camino, pero: ¿qué palabras podrías escribir usando únicamente los kanas que conoces?

Entrada

Cada entrada consiste en una línea con los números k y t, donde k es el número de kanas (sílabas) que conoces y t es el máximo número de sílabas de las palabras que queremos generar. A continuación, k líneas con las k sílabas, todas ellas distintas y formadas por 2 letras minúsculas.

Salida

Escribe, en orden alfabético, todas las palabras de como mucho t sílabas que podrían formarse usando únicamente los kanas conocidos.

Puntuación

  • k-small:  ‍20 Puntos ‍

    Resolver varias entradas con 1≤ k≤ 4 sílabas y palabras con no más de 1≤ t≤ 2 sílabas de longitud.

  • t-small:  ‍20 Puntos ‍

    Resolver varias entradas con 1≤ k≤ 2 sílabas y palabras con no más de 1≤ t≤ 4 sílabas de longitud.

  • medium:  ‍40 Puntos ‍

    Resolver varias entradas con 1≤ k,t≤ 10 donde se garantiza que la salida no contendrás más de 1000 palabras.

  • hard:  ‍20 Puntos ‍

    Resolver varias entradas con 1≤ k,t≤ 100 donde se garantiza que la salida no contendrás más de 100000 palabras.

Public test cases
  • Input

    2 3
    ka
    mo
    

    Output

    ka
    kaka
    kakaka
    kakamo
    kamo
    kamoka
    kamomo
    mo
    moka
    mokaka
    mokamo
    momo
    momoka
    momomo
    
  • Input

    5 2
    ti
    la
    ne
    ko
    tu
    

    Output

    ko
    koko
    kola
    kone
    koti
    kotu
    la
    lako
    lala
    lane
    lati
    latu
    ne
    neko
    nela
    nene
    neti
    netu
    ti
    tiko
    tila
    tine
    titi
    titu
    tu
    tuko
    tula
    tune
    tuti
    tutu
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++