U125079 JZOI 1398. 逃脱

题目背景

小$K$终于进了宫殿大门,可是他发现却身陷一个巨大的迷宫之中,突然一阵声音传来“想要Orz教主的勇士是需要经受考验的……”。当小$K$以坚定的信念通过了一次迷宫后,他发现同样的迷宫又出现了,不过出口发生了变化,这时他才知道这个迷宫需要通过m次……由于小K迫切希望Orz教主,为了尽快逃出这迷宫,所以小$K$又请来了你帮忙……

题目描述

 小K在一个迷宫里,迷宫里只有小K,障碍和出口,都可以用整数坐标$(x_k, y_k)$表示。小K可以向上下左右四个平行于某一个坐标轴的方向移动,但是每次移动会向一个方向不断前进直到遇到障碍在障碍的前一个整数点停止,此时小$K$才可以再次进行移动。若所要移动的方向上没有障碍或出口,这次的移动就是非法的。每次往一个方向移动的代价为$1$,当某次移动过程中经过出口此次游戏胜利。   对于给定的迷宫,有$n$个障碍,小K起始坐标$(X, Y)$,以及$m$个出口(这$m$个出口不同时存在),即小$K$需要通过$m$次迷宫。对于每一个出口,问从同一个起始坐标移动到这个出口的最小代价是多少。

输入格式

 输入文件的第$1$行有四个正整数$n,m,X,Y$,分别描述了障碍的个数,出口的个数,以及起始坐标。   下面$n$行,每行两个正整数$x1_i,y1_i$,描述了这n个障碍的坐标为$(x1_i, y1_i)$。   接下来m行,每行两个正整数$x2_i,y2_i$,描述了这$m$个出口的坐标为$(x2_i, y2_i)$。   所有整数之间用一个空格隔开。   保证所有坐标各不相同。

输出格式

  输出文件包括$m$行,即对于每一个出口,问从起始点到出口的最小代价为多少,若不能到达则输出$-1$。

说明/提示

对于$20\%$的数据,$n≤10,m≤10$,所有坐标涉及的正整数不大于$10$;   对于$40\%$的数据,所有坐标涉及的正整数不大于$300$;   对于$50\%$的数据,$n≤1000,m≤10$;   对于$70\%$的数据,所有坐标涉及的正整数不大于$1000$;   对于$100\%$的数据,$n≤100000,m≤100000$,所有坐标涉及的正整数不大于$10^8$。 ### 样例解释 如图所示 ![666](https://s1.ax1x.com/2020/08/03/adAYpF.png)