Prefijos

Considera una colección de palabras. A veces, es posible identificar
cada palabra de forma unívoca a partir de sus prefijos. Por ejemplo, si
la colección es {amor, casa, caso, copa, ya}, una palabra que empiece
por a tiene que ser amor. Del mismo modo, si sabemos que una palabra
empieza por y, ésta tiene que ser ya. Sin embargo, para identificar la
palabra copa necesitamos el prefijo co, y para identificar tanto casa
como caso necesitamos escribir las palabras completas.

Tu programa debe escribir las palabras ordenadas crecientemente según la
longitud del prefijo más corto que las identifica. En caso de empate,
hay que escribir las palabras en orden lexicográfico.

Entrada

La entrada consiste en varios casos. Cada caso comienza con su número de
palabras n ≥ 2. Siguen n palabras, cada una con entre 1 y 20 letras
minúsculas. Todas las palabras de una colección serán identificables a
partir de alguno de sus prefijos (eventualmente, la palabra completa).
Es decir, ninguna palabra dada será prefijo de otra del mismo caso.

Salida

Para cada caso, vuestro programa debe escribir los prefijos (junto con
las palabras a las que identifican) en orden creciente por longitud y,
en caso de empate, en orden lexicográfico. Separar la salida entre casos
con una línea con 10 guiones.

Puntuación

- Test1:   Pruebas con n ≤ 10.

- Test2:   Pruebas con n ≤ 10000.

Información del problema

Autoría: Salvador Roura

Generación: 2026-01-25T11:56:32.163Z

© Jutge.org, 2006–2026.
https://jutge.org
