Ah, this has probably been the hardest algo homework ever. We have to implement Dijkstra's algo to find a path with the lowest possible failure rate. Checking the priority queue, updating predecessors, and getting independent probability math correct..... All in a days work for an algorithms Boss.