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