#4. 「2021年 常州市 程序设计小能手」G - 移动

「2021年 常州市 程序设计小能手」G - 移动

题目描述

XX学校的教学楼是一栋HH层的建筑。学生在同一楼层间可以自由移动,但是只有通过爬楼梯才可以上下楼层。

让我们把教学楼抽象成一个有H×MH\times M个格子的矩形,学生可以从一个单元格上花费11秒移动到上下左右的相邻单元格上。学生在水平方向上的移动是没有限制的(除了不能摔出楼外),但只有在有楼梯相连的时候才能进行竖直移动。一个楼梯会连接同一列中的一段连续楼层,且一列中只会有一个楼梯。对于这一部分叙述可以通过样例理解。

现在有TT个学生,每个人都希望从一个位置走到另一个位置上。他们想问问小XX最短需要花费多长时间。

输入格式

第一行,22个整数HHMM表示教学楼大小。

第二行,11个整数KK表示楼梯的数量。

接下来KK行,每行三个整数x,h1,h2x,h_1,h_2表示在第xx列的h1h_1层和h2h_2层之间有楼梯。

接下来11行,一个整数TT表示有TT个学生。

接下来TT行,每行四个整数sx,sy,tx,tys_x,s_y,t_x,t_y表示这个学生想要从sxs_x列的sys_y层走到txt_x列的tyt_y层。

输出格式

对于每一个学生按顺序输出一行一个整数表示最短时间。

如果不可能走到,输出1−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

数据范围与提示

样例解释

本题共有1515个测试点,每个测试点1010分。

对于全部测试点:1xM1\leq x\leq M且所有xx各不相同。

1h1<h2H,1sx,txM,1sy,tyH,1H,M105,1K300,1T500001\leq h1<h2\leq H,1\leq s_x,t_x\leq M,1\leq s_y,t_y\leq H,1\leq H,M\leq 10^5,1\leq K\leq 300,1\leq T\leq 50000

对于编号为奇数的测试点:T=1T=1

对于测试点121−2:K=0K=0

对于测试点343−4:K=1K=1

对于测试点565−6:H=M=10H=M=10

对于测试点7107−10:H=M=50H=M=50

对于测试点111511−15:没有特殊限制