多边形相邻边垂直,边长为整数,边平行坐标轴。要在多边形的点上放一些激光发射器和接收器。满足下列要求: 1发射器和接收器不能放置在同一点; 2发射器发出激光可以沿壁反射,最终到达一个接收器; 3发射器只能沿角平分线发射激光。求:最多可放置多少对发射器和接收器?点数4<=n<=100000
多边形相邻边垂直,边长为整数,边平行坐标轴。要在多边形的点上放一些激光发射器和接收器。满足下列要求: 1发射器和接收器不能放置在同一点; 2发射器发出激光可以沿壁反射,最终到达一个接收器; 3发射器只能沿角平分线发射激光。求:最多可放置多少对发射器和接收器?点数4<=n<=100000
第一行给出一个数字N,代表有多少个点. 下面N行,用来描述点的坐标.其值在[-1000000,1000000]
最多可放置多少对发射器和接收器

感谢YYD大牛贡献译文.
根据入射光线与反射光线的路径相同,如果有两个点出发的光线同时射到一点,那么这个点发射的光线就会有两个路径,不合常理,因此一个点与他射到的点必然是一一对应。
因此答案就是n/2。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",n>>1);
return 0;
}
原文地址:http://blog.csdn.net/regina8023/article/details/43956275