Reto al azar: 019

Actualmente tenemos 30 retos en nuestra base de datos. Accediendo al reto 19.

Nivel de dificultad aproximado (1 a 5): 4  

Estás tratando de resolver un problema complejo. Para simplificar, lo has dividido en subtareas. La mayoría de estas subtareas se pueden ejecutar en paralelo, pero algunas son dependientes de la finalización de tareas previas. No hay límite en el número de tareas que se pueden ejecutar en paralelo. Cada tarea tiene un tiempo de cálculo asociado.

Se te indicará un subconjunto de estas tareas. Para cada uno de ellas, tendrás que responder cuál es el mínimo tiempo de cálculo necesario para su resolución (debes tener en cuenta las dependencias entre tareas).

Las relaciones entre las tareas se leerán desde un archivo con el siguiente formato:

# Número de tareas
n

# Duración tx de cada tarea x
x, tx

# Dependencias entre tareas: la resolución de la tarea x depende previamente de la solución de las tareas y, z, w
x, y, z, w

El resultado esperado debe estar en el formato: Identificador de tareas (espacio) tiempo necesario
x tx
y ty
z tz

Nota: Dos tareas diferentes no dependerán de la resolución de una tarea común.
# Dependencias de tareas <- esto no es válido
x, y
z, y

(Asegúrate de que has leído las preguntas frecuentes antes de plantear tu solución)

Ejemplo de archivo de entrada
# Número de tareas
6

# Duración de cada tarea
0,2
1,3
2,4
3,9
4,7
5,9

# Dependencias de tareas
0,4
3,0,1,2
4,5


Ejemplo de entrada: tareas para las que hay que calcular el tiempo
3,1,4

Ejemplo de salida
3 27
1 3
4 16

Aportar una solución

Tu nombre (si quieres que aparezca):
Tu web/blog (si quieres que incluyamos un enlace a ella):
Tu e-mail (no se mostrará; si quieres que te avisemos cuando esté publicado):
¿Eres humano? ¿Cuánto es 2 más 3?
Lenguaje
Fuente: