BZOJ: [POI2008]激光发射器SZK 题解

版权声明:看了这篇文章的百分之九十九都顶了,还有百分之一的人默默点了转发,并且在转发的时候含泪说了一句:不转不是中国人 https://blog.csdn.net/NOIAu/article/details/74612979

1121: [POI2008]激光发射器SZK

Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 885 Solved: 735


Description

多边形相邻边垂直,边长为整数,边平行坐标轴。要在多边形的点上放一些激光发射器和接收器。满足下列要求: 1发射器和接收器不能放置在同一点; 2发射器发出激光可以沿壁反射,最终到达一个接收器; 3发射器只能沿角平分线发射激光。求:最多可放置多少对发射器和接收器?点数4<=n<=100000


Input

第一行给出一个数字N,代表有多少个点. 下面N行,用来描述点的坐标.其值在[-1000000,1000000]


Output

最多可放置多少对发射器和接收器


Sample Input

10

1 1

3 1

3 -2

-3 -2

-3 0

-1 0

-1 -1

2 -1

2 0

1 0

这里写图片描述


Sample Output

5


HINT

感谢YYD大牛贡献译文.


Source


题解:

可以这样理解,从一个点出发,一定会到一个不同于他的点停下,而光路可逆,一个点也最多只能被一个点到达,所以答案是n/2

#include<cstdio>
using namespace std;
int main(){
    int n;scanf("%d",&n);
    printf("%d",n/2);
    return 0;
}

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页