Estructura de Datos Trimestre 14

Anuncio
Estructura de Datos
Trimestre 14-O
Práctica 10 (Árboles abarcadores)
Profesor: Sergio Luis Pérez Pérez
Fecha: 30-oct-2014
Fecha lı́mite de entrega: lunes 10-nov-2014 22:00 horas
1.
Descripción de la práctica
Las ciudades vecinas a Uruk
En uno de sus múltiples sueños, Gilgamesh vio concebida a Uruk como una
ciudad próspera. Para ello Uruk debe poder realizar comercio con las N − 1 ciudades de los alrededores. Gilgamesh ha decidido realizar la construcción de varios
caminos que comuniquen a todas las ciudades entre sı́. La construcción de un camino entre cada pareja de ciudades es muy costoso por lo que Gilgamesh decide
que basta con que exista una forma única de llegar de una ciudad a otra pero que
siempre sea posible llegar desde una ciudad a cualquier otra. Los matemáticos de
Uruk han diseñado un mapa con M posibles caminos entre algunas parejas de las
N ciudades. La construcción de cada camino tiene un costo mi . Ayude a Gilgamesh a determinar la suma de costos de los N − 1 caminos elegidos de manera
que dicha suma sea mı́nima.
2.
Entrada
Dos enteros N, M que representan el número de ciudades que deben quedar
comunicadas y los M caminos que comunican algunas de las ciudades. Seguido
de M lı́neas con una pareja de nombres de ciudades s, t y el costo mi entre ellas.
Puede suponer que 2 ≤ N ≤ 100, N − 1 ≤ M ≤ (N ∗ (N − 1)/2) y 1 ≤ mi ≤
1, 000. El nombre de cada ciudad no será más largo que 10 letras minúsculas del
alfabeto inglés. Puede suponer que cada pareja de ciudades será dado de forma
única.
3.
Salida
La salida será la suma de costos de los N − 1 caminos que unen a las N
ciudades. Puede suponer que siempre existe al menos una forma de conectar a las
N ciudades.
4.
Ejemplo
Entrada
Salida
57
42
uruk shurupak 10
uruk umma 10
umma larsa 100
uruk eridu 20
eridu larsa 17
eridu shurupak 5
shurupak umma 12
Fuente: UAM 2014
5.
Entregables
Su programa deberá llamarse “uruk.(c o cpp o java)” y no deberá leer ni imprimir nada adicional a lo especificado.
Envı́e solamente su programa al e-mail [email protected].
6.
Tips
1. Usted podrá probar su programa en el sitio de OmegaUp antes de enviarlo.
https://omegaup.com/arena/problem/uruk/. Para ello será necesario que cree
una cuenta en el sitio.
Descargar