Nombre Password [ Regístrate ]

Red Metropolitana (OIE 2 - 1998)

 

El ayuntamiento de Villabajo de Arriba, dada la explosión demográfica que sufrió el pueblo con motivo de la nevada que lo dejó incomunicado y sin luz durante una semana, ha decidido construir una red metropolitana que una diversas urbanizaciones y barrios de nueva construcción. Para ello, se dispone del listado de estaciones a construir y también del coste de construcción de tramos bidireccionales entre diversos pares de estaciones (no necesariamente todos, pues la existencia de arroyos, desniveles y ruinas arqueológicas hace inviable la unión directa de algunas estaciones). Se pide la construcción de un programa que determine los tramos necesarios para unir todas las estaciones con el coste mínimo de construcción de la red metropolitana. Eventualmente, puede ser imposible construir dicha red, si con los tramos proporcionados existen estaciones desconectadas; en este caso, el programa debe detectar la situación y dar aviso.

Entrada

Residente en el fichero de caracteres "REDM.DAT":

Línea 1: número N de estaciones, mediante un único carácter que representa un entero entre 1 y 9
Línea 2: número M de tramos, mediante uno o dos caracteres que representan un número entero entre 1 y 99
Líneas de la 3 a la N+2: cada una de estas líneas contiene una única palabra formada exclusivamente por letras minúsculas (y sin signos de puntuación, es decir, ni acentos ni similares), sin blancos ni otro tipo de caracteres antes de la primera letra ni después de la última. Las palabras tienen un máximo de 20 letras. Estas palabras representan los nombres de las estaciones. Puede asumirse que estas líneas no contendrán palabras repetidas.
Líneas N+3 a N+M+3: cada una de estas líneas tiene el formato:

    estación estación coste


donde estación es alguna de las palabras que aparecieron en el grupo anterior de líneas (es decir, un nombre válido de estación), y coste es uno o dos caracteres que representan un número entero entre 1 y 99. Los tres componentes están separados por un único blanco, y no hay blancos ni otro tipo de caracteres al inicio o final de línea. Cada una de estas línea representa el coste de construcción de un tramo; los tramos son bidireccionales, por lo que el orden de aparición de las estaciones en una línea del fichero es irrelevante. Puede asumirse que no hay tramos repetidos.

Salida

A guardar en el fichero de caracteres "REDM.OUT": un número indeterminado de líneas, cada una de ellas con el formato:

    estación estación


tal que la primera estación sea alfabéticamente menor que la segunda, las estaciones estén separadas por un único blanco y no existan blancos al inicio o final de línea. Además, las líneas estarán ordenadas alfabéticamente según la primera estación; en caso de empate, se considera también el orden alfabético por la segunda estación. La salida representa pues los tramos que forman parte de la solución. En caso que no haya sido posible construir la red (es decir, si hay estaciones que no pueden conectarse), en el fichero aparecerá una única línea que contenga la palabra IMPOSIBLE (en mayúsculas y sin blancos ni otro tipo de caracteres antes ni después). En el caso de existir solución, puede asumirse que ésta es única.

Ejemplo de entrada

4
5
mercado
puertonuevo
casasricas
casasbaratas
mercado puertonuevo 5
mercado casasricas 12
casasricas casasbaratas 8
puertonuevo casasricas 10
puertonuevo casasbaratas 20

Ejemplo de salida

casasbaratas casasricas
casasricas puertonuevo
mercado puertonuevo



© (2001-2008) ALGORITMIA.NET - Política de privacidad