出题人题解。 D 火烧の云 Sol 考虑最短路,设一个三元组 \(dis(i,j,k)\) 表示到达位置 \((i,j)\) 且方向状态为 \(k\) 时所需最少步数。 初始化:所有点位置字符导致的连边、权值更新;\(dis(S_i,S_j,\{0,1,2,3\})=0\),最终答案:\(\min\{dis(E_i,E_j,\{0,1,2,3\})\}\)。 注意多个起点多个终点的情况需要灵活地处理,考虑将所有起点和终点吊起来导向同一个虚拟根节点即可。 实现 设一个三元组 \[(i,j,0)\text{表示到达点}(i,j)\text{,}\color{red}{\tex...