题目
链接
题解思路
因为走的方向都是呈偶数形式的(对和的损耗),所以无法走到奇数的点。
可以进行特判。
记录这个点往四个方向的情况, 走的时候的标志以及地图的对应标志。
当符合地图标识的时候,就无需消耗权值,之间把他入队头。否则入队尾。
这样就强行形成了一个小顶堆。
有堆优化dij的味道了。
每次从队头取出元素来进行松弛操作。每个元素只能用来松弛其他边一次。
最后到n m 的最小费用就被搜索出来了。
AC代码
#include
#include
#include
#include
#include
#include
#include