Vì Marisa và Reimu phải di chuyển liên tục nên khoảng cách cả 2 di chuyển phải là số chẵn.
Từ ý trên, ta có thể biến đổi bài toán thành tìm đường đi ngắn nhất từ đỉnh $a$ tới đỉnh $b$ và khoảng cách phải là số chẵn.
Ta gọi $d[u][parity]$ là khoảng cách ngắn nhất từ $a$ đến $u$ và khoảng cách này có tính chẵn lẻ là `parity`.
Ta chuyển trạng thái từ $[u][parity]$ -> $[v][(parity + 1) \bmod 2 ]$
Vì 1 lần Marisa và Reimu di chuyển liên tục nên đáp án sẽ phải chia $2$.