#244. 棋盘
棋盘
题目描述
有一个 的棋盘,每个格子可能是红色、黄色或无色。从棋盘左上角 走到右下角 ,规则如下:
- 只能站在有颜色的格子上(起点一定有颜色)
- 每次可以向上、下、左、右移动
- 同色格子间移动不花费金币
- 不同颜色格子间移动花费 个金币
- 可以花费 个金币施展魔法,将下一个无色格子暂时变为指定颜色
- 魔法不能连续使用,必须走到有颜色的格子后才能再次使用
- 离开魔法变色的格子后,该格子恢复无色
求从左上角到右下角花费的最少金币数,如果无法到达输出 。
输入格式
第一行两个整数 ,表示棋盘大小和有颜色格子的数量。
接下来 行,每行三个整数 ,表示坐标 的格子颜色为 ( 表示红色, 表示黄色)。
输出格式
一个整数,表示最少花费的金币数,如果无法到达输出 。
5 7
1 1 0
1 2 0
2 2 1
3 3 1
3 4 0
4 4 1
5 5 0
8
5 5
1 1 0
1 2 0
2 2 1
3 3 1
5 5 0
-1
提示
样例 1 说明
从 开始,走到 不花费金币
从 向下走到 花费 枚金币
从 施展魔法,将 变为黄色,花费 枚金币
从 走到 不花费金币
从 走到 不花费金币
从 走到 花费 枚金币
从 走到 花费 枚金币
从 施展魔法,将 变为黄色,花费 枚金币
从 走到 不花费金币
从 走到 花费 枚金币
共花费 枚金币。
样例 2 说明
从 走到 不花费金币
从 走到 花费 金币
施展魔法将 变为黄色,从 走到 花费 金币
从 走到 不花费金币
从 只能施展魔法到达 ,但这些点都无法到达 ,故无法到达终点。
数据规模与约定
对于全部的测试点,保证 ,,起点 一定有颜色。
本题改编自 NOIP 2017 普及组 T3
相关
在下列比赛中: