D - Teleport Maze Editorial
by
Tamiji
以下のようにグラフを構築します.
- 各マスおよび(ワープ中であることを示す)英小文字に対応する頂点を作る.
- 隣接する障害物が無いマスの頂点の間に,重み \(1\) の無向辺を張る.
- ワープマスの頂点からアルファベットの頂点へ,重み \(1\) の有向辺を張る.
- アルファベットの頂点からワープマスの頂点へ,重み \(0\) の有向辺を張る.
求めるべきは \((1,1)\) から \((H,W)\) への最短距離なので, 0-1 BFS により求めることができます.
計算量は \(O(HW)\) です.
posted:
last update:
