Editorial for WC '17 Contest 4 S2 - Strange Travels
Submitting an official solution before solving the problem yourself is a bannable offence.
The sanctums and portals form a directed, unweighted graph with  nodes and 
 edges. For each artifact 
, we'll need to compute the shortest distance 
 from node 
 to node 
, as well as the shortest distance 
 from node 
 to node 
. If 
 or 
 are infinite for any 
 (in other words, if no paths exist connecting those nodes), then we should output 
-1. Otherwise, the answer will be the sum of  and 
.
Computing all of the shortest distances  can be done in 
 time with a standard application of breadth-first search (BFS), starting from node 
.
However, computing the shortest distances  may be more problematic. We could initiate a separate breadth-first search starting from each node 
, but that approach would be too slow to receive full marks, having a time complexity of 
. We can instead imagine an alternate version of the graph in which the directions of all edges are reversed (known as the transpose graph). Performing a single breadth-first search on the transpose graph starting from node 
 can allow us to compute all of the shortest distances 
 in just 
 time as well.
Comments