【BZOJ-1121】激光发射器SZK 物理 + 数学 + 乱搞

1121: [POI2008]激光发射器SZK

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 682  Solved: 565
[Submit][Status][Discuss]

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

Solution

糊里糊涂的就A掉了?答案就是n/2

首先因为因为是矩形,所以很显然,跑起来是45°,所以不存在弹回来的情况

然后光路可逆,每个点总会对应另一个点...其实都是口胡

Code

#include<iostream>
using namespace std;
int main()
{
    int n; cin>>n; cout<<n/2; return 0;
}
原文地址:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5430322.html