Problem Statement
高尔夫球是一种在上流社会非常流行的运动。
高尔夫球场可以被抽象为一个二维平面。高尔夫球初始时位于 (SX,SY),而球洞位于 (TX,TY)。
高尔夫球场中有许多矩形障碍物。具体地,一共有 n 个障碍物,其中第 i 个可以被抽象为一个左下角位于 (Li,Di),右上角位于 (Ri,Ui) 的矩形。保证起点和终点都不在障碍物的内部以及边界上。
为了降低难度,本题中的击球仅允许向上、下、左、右四个方向击球(即必须平行于 x 轴或者 y 轴)。击球后,球会沿着击球方向运动。我们假设击球者水平很高,可以让球在经过的任意整点停下来。但是,球的路径不能经过障碍物内部(沿着障碍物的边界运动是允许的)。
求最少要击球多少次,才可以把球打进 (TX,TY)。本题中,我们假设球一旦经过球洞所在的位置,它就会掉下去。
Input
第一行四个空格隔开的整数 SX,SY,TX,TY,表示高尔夫球的初始位置以及球洞的位置。
第二行一个整数 n,表示障碍物的个数。
接下来 n 行,每行四个空格隔开的整数 Li,Ri,Di,Ui,描述一个障碍物。
Output
输出仅有一行一个整数,表示最少的击球次数。容易发现一定存在至少一种击球方案,使得球可以进洞。
Sample Input
2 15 20 19 1 8 19 12 20
Sample Output
3
Sample Explanation
如图,不难发现 2 次击球一定不可行。
3 次击球的一条最优路径是:(2,15)→(2,10)→(20,10)→(20,19)。
Constraints
对于所有数据,0≤n≤105,1≤Li<Ri≤109,1≤Di<Ui≤109,1≤SX,SY,TX,TY≤109,保证 (SX,SY)≠(TX,TY),且 (SX,SY),(TX,TY) 均不在任何障碍物的内部以及边界上,任意两个障碍物(包括边界)互不相交。
- Subtask 1( 5%):n=0;
- Subtask 2(15%):n≤10;
- Subtask 3(15%):n≤100,所有坐标范围不超过 100;
- Subtask 4(15%):n≤1000,所有坐标范围不超过 1000;
- Subtask 5(15%):n≤1000;
- Subtask 6(35%):无特殊限制。
时间限制:5s
空间限制:512MB