Árbol de palabras
Descripción
Dado un conjunto de palabras, cada una de la misma longitud, podemos formar una estructura de árbol entre las palabras conectando pares de palabras con una arista. En concreto, debemos añadir exactamente aristas y asegurarnos de que existe un único camino simple entre cada palabra.
Definimos el coste de una arista entre dos palabras como la suma de los costes entre cada par de letras correspondientes de las dos palabras. letras correspondientes de las dos palabras. Definimos el coste entre dos letras como el valor absoluto de la diferencia entre sus valores ASCII. Por ejemplo, el coste de una arista entre "CAMP" y "BEAR" sería porque , , , y .
He aquí una ilustración de un árbol de palabras con las palabras , , , y :
Finalmente, debido a que solo nos gusta conectar palabras que son "similares", nuestro objetivo es minimizar el valor del costo máximo de borde del árbol. En el ejemplo anterior, es imposible conectar las palabras en una estructura de árbol donde cada borde tiene un costo de menos de .
Tenga en cuenta que no hay restricciones en la estructura de árbol, es decir, cualquier palabra se puede enumerar como hijo de cualquier otro nodo. Por ejemplo, no tiene que ser un árbol de búsqueda binaria. La estructura debe, de por supuesto, ser un árbol y el costo es como se definió anteriormente.
Tarea
Dado un conjunto de palabras, cada una de las cuales consta de letras mayúsculas, de todos los árboles de palabras posibles que podrían formarse con esas palabras, determine el valor mínimo posible del costo de borde máximo.
Entrada
La primera línea de entrada contiene dos números enteros: (), que indica el número de palabras, y (), indicando la longitud de cada una de las palabras. Cada una de las siguientes líneas de entrada contiene una de las palabras. Se garantiza que estas palabras son distintas, constan exactamente de letras mayúsculas, y comience en la columna uno.
Salida
Imprima el valor mínimo del costo de borde máximo sobre todos los árboles de palabras posibles para el conjunto de entrada palabras.
Ejemplos de Entrada y Salida
Entrada #1
5 4
BEAM
BEAR
BEAT
CAMP
CART
Salida #1
19
Entrada #2
6 3
BAN
BAR
BAT
CAN
CAP
CAR
Salida #2
2
Comments