比赛场次 353
比赛名称 20161223
比赛状态 已结束比赛成绩
开始时间 2016-12-23 19:10:00
结束时间 2016-12-23 22:00:00
开放分组 全部用户
注释介绍
题目名称 激光
输入输出 lasers.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 11 简单对比
用户 结果 时间 内存 得分
Gravatarconfoo AAAAAAAAAAA 0.600 s 161.29 MiB 100
GravatarKZNS AAAATTTTTTA 6.002 s 0.34 MiB 45
GravatarMealy AWWWWTWTWTA 3.009 s 0.39 MiB 18
GravatarBennettz AWWWWWWWWWW 0.015 s 0.31 MiB 9

激光

★   输入文件:lasers.in   输出文件:lasers.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


不知道什么原因,农夫John的奶牛们似乎总是热衷于激光秀。

在它们最近的一次秀场中,奶牛们发现了一个强大的激光发射器——它实在是太大了,以至于它们似乎根据不可能轻易地将这台发射器从它的放置地点移动位置。所以它们想要找到一种方法将激光发射器发射出的激光送到位于农场另一边的牛棚中。若将John的农场视作是一张二维地图,则发射器和牛棚的位置都可以看作这个平面图上的两个点。奶牛们计划引导一束激光在水平或者垂直的方向上传输(即沿x轴和y轴传输),然后可以通过在地图上某些点放置一些镜子用于将激光从发射器反射到牛棚。

在农场中有N个篱笆桩(1<=N<=100,000),分布在地图上(区别于激光发射器和牛棚的坐标),奶牛们可以在这些桩上放置镜子。奶牛们可以选择不放置镜子,则激光会沿直线方向传输;如果奶牛们放置了镜子,则镜子会呈45度倾斜旋转,即“/”和“\”,所以可以引导激光从原来水平的方向转变为垂直的方向,或者将垂直转变为水平。

请计算,在保证激光能正确地引导到牛棚的前提下,如何使得所用镜子的数量最少。



【输入格式】


第一行有5个由空格分隔开的整数:N,xL,yL,xB,yB,其中(xL,yL)表示激光发射器的坐标,(xB,yB)表示牛棚的所在的坐标,它们的取值范围均在[0..1,000,000,000]。

接下来的N行,每行由两个数字x,y组成,表示可以放置镜子的篱笆桩所在点的坐标,且范围为[0..1,000,000,000]。


【输出格式】

可以实现激光从发射器到牛棚所使用的最小数量的镜子,若不可能实现则输出-1。

【样例输入】

4 0 0 7 2
3 2
0 2
1 6
3 0

【样例输出】

1

【提示】

在此键入。

【来源】

在此键入。