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)