Nombre del equipo


Submit solution

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++, Python

Jacob, Daniel y Lior están muy contentos de formar parte de un equipo este año. Sin embargo, hay un problema: No tienen un nombre de equipo. Pensaron en elegir un nombre propio al azar del diccionario, pero cuando lo intentaron, se encontraron con Hyperion, que nadie podía pronunciar.

Sólo les quedaba una opción lógica: la cadena inglesa minúscula de longitud mínima que que contiene cada uno de sus nombres como una subsecuencia y es lexicográficamente más baja que todas las otras cadenas válidas de esta longitud. Una subsecuencia de la cadena s se define como una secuencia que puede obtenerse de s suprimiendo algunos caracteres (posiblemente ninguno o incluso todos), sin cambiar el orden de los restantes. La cadena s es lexicográficamente menor que la cadena t si s es un prefijo de t, o si en la primera posición i las cadenas s y t difieren, s[i] < t[i].

Jacob, Daniel y Lior terminaron con el impecable nombre de equipo "djaclnielobr". A sus amigos les encantó la idea, y querían un nombre de equipo generado con las mismas reglas, pero sus nombres eran mucho más largos (Atharva, Anderson y Ahmad). Pronto, todos los equipos de tres personas de toda la nación les estaban enviando correos electrónicos pidiendo este nuevo tema de nombre de equipo. ¿Puedes ayudarlos a todos?

Tarea

Dados tres nombres, determinar la cadena de longitud más corta que contenga los tres nombres como una subsecuente. Si hay varios, elija el mínimo lexicográficamente (primero alfabético).

Entrada

La primera línea de la entrada contendrá un único número entero positivo t, t \le 26, que representa el número de equipos que solicitan su ayuda. A continuación, le seguirán t líneas, cada una de las cuales contendrá tres cadenas de letras inglesas en minúscula minúsculas (a-z) separadas por espacios. La longitud del nombre de cualquier miembro del equipo estará entre 1 y 100 caracteres, ambos inclusive.

Salida

Para cada equipo, la salida es la cadena de longitud más corta que contiene los tres nombres como una subsecuencia. Si hay varias de la misma longitud, se obtiene la mínima lexicográficamente.

Ejemplo de Entrada
3
daniel jacob lior
tyler kyle david
atharva anderson ahmad
Ejemplo de Salida
djaclnielobr
daktvidyler
anthmadersonva

Comments

There are no comments at the moment.