#444. [CZOI2021 G] 移动
[CZOI2021 G] 移动
题目描述
小 X 学校的教学楼是一栋 层的建筑。学生在同一楼层间可以自由移动,但是只有通过爬楼梯才可以上下楼层。
让我们把教学楼抽象成一个有 个格子的矩形,学生可以从一个单元格上花费 秒移动到上下左右的相邻单元格上。学生在水平方向上的移动是没有限制的(除了不能摔出楼外),但只有在有楼梯相连的时候才能进行竖直移动。一个楼梯会连接同一列中的一段连续楼层,且一列中只会有一个楼梯。
现在有 个学生,每个人都希望从一个位置走到另一个位置上。他们想问问小 X 最短需要花费多长时间。
输入格式
第一行 个整数 和 表示教学楼大小。
第二行, 个整数 表示楼梯的数量。
接下来 行,每行三个整数 表示在第 列的 层和 层之间有楼梯。
接下来 行,一个整数 表示有 个学生。
接下来 行,每行四个整数 表示这个学生想要从 列的 层走到 列的 层。
输出格式
对于每一个学生按顺序输出一行一个整数表示最短时间。
如果不可能走到,输出 -1
。
9 8
2
3 5 8
6 2 5
3
6 8 5 7
4 6 7 2
1 9 8 1
6
9
-1
样例解释
数据范围
对于全部测试点:
对于编号为奇数的测试点:
对于测试点 :
对于测试点 :
对于测试点 :
对于测试点 :