#KKT070607. 棋盘
棋盘
题目描述
有一个 的棋盘,部分格子为红色或黄色,其余没有颜色。从 走到 ,每步只能上下左右移动。走到同色格子不花费金币,走到异色格子花费 枚金币。
可以花费 枚金币施展魔法,把下一步要走入的无色格子临时染成任选颜色,再按颜色是否改变支付移动费用。离开临时染色格子后,它恢复无色。不能连续施展魔法,即站在临时染色格子上时,下一步只能走到原本就有颜色的格子。起点原本有颜色。求最少花费。
输入格式
第一行两个整数 ,分别是棋盘边长和有颜色的格子数。接下来 行,每行三个整数 :坐标为 , 表示红色, 表示黄色。
输出格式
输出最少金币数;无法到达输出 -1。
样例
5 7
1 1 0
1 2 0
2 2 1
3 3 1
3 4 0
4 4 1
5 5 0
8
数据范围
对于 的数据,;对于 的数据,;对于 的数据,,。坐标合法且不重复, 有颜色。