#P3716. [CTSC2000] 冰原探险

    ID: 2698 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>2000WC/CTSC/集训队枚举广度优先搜索,BFS最短路

[CTSC2000] 冰原探险

题目描述

传说中,南极有一片广阔的冰原,在冰原下藏有史前文明的遗址。整个冰原被横竖划分成了很多个大小相等的方格。在这个冰原上有 NN 个大小不等的矩形冰山,这些巨大的冰山有着和南极一样古老的历史。

每个矩形冰山至少占据一个方格,且其必定完整地占据方格。冰山和冰山之间不会重叠,也不会有边或点相连。以下两种情况均是不可能出现的:

ACM\text{ACM} 探险队在经过多年准备之后决定在这个冰原上寻找遗址。根据他们掌握的资料,在这个冰原上一个大小为一格的深洞中,藏有一个由史前人类制作的开关。而唯一可以打开这个开关的是一个占据接近一格的可移动的小冰块。显然,在南极是不可能有这样小的独立冰块的,所以这块冰块也一定是史前文明的产物。他们在想办法把这个冰块推到洞里去,这样就可以打开一条通往冰原底部的通道,发掘史前文明的秘密。冰块的起始位置与深洞的位置均不和任何冰山相邻。

这个冰原上的冰面和冰山都是完全光滑的,轻轻的推动冰块就可以使这个冰块向前滑行,直到撞到一座冰山就在它的边上停下来。冰块可以穿过冰面上所有没有冰山的区域,也可以从两座冰山之间穿过(见下图)。冰块只能沿网格方向推动。

请你帮助他们以最少的推动次数将冰块推入深洞中。

输入格式

输入文件第一行为冰山的个数 NN ,第二行为冰块开始所在的方格坐标 X1X_{1} , Y1Y_{1} ,第三行为深洞所在的方格坐标 X2,Y2X_{2}, Y_{2} ,以下 NN 行每行有四个数,分别是每个冰山所占的格子左上角和右下角坐标 Xi1,Yi1,Xi2,Yi2X_{i_{1}}, Y_{i_{1}}, X_{i_{2}}, Y_{i_{2}}

输出格式

输出文件包含一个整数,为最少推动冰块的次数。如果无法将冰块推入深洞中,则输出 00

2
1 1
5 5
1 3 3 3
6 2 8 4
3

提示

1N40001 \leq N \leq 4000

样例解释:移动方案如图所示。