1121: [POI2008]激光发射器SZK
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 574 Solved: 475
[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
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
题解:一道神奇的题目——想必学过物理竞赛的都该知道光路可逆,很明显要想光线停下来,只能落在另一个点上而不是在边上(HansBug:边上的话不就反射出去了嘛= =),然后由于光路可逆可知如果另一个光源在这个终点上的话,那么必然要恰好走相反的路线回到第一个光源处,所以很明显一个发射器将占用2个点,所以答案就是[N/2]
1 /************************************************************** 2 Problem: 1121 3 User: HansBug 4 Language: Pascal 5 Result: Accepted 6 Time:0 ms 7 Memory:220 kb 8 ****************************************************************/ 9 10 var n:longint; 11 begin 12 readln(n); 13 writeln(n shr 1); 14 end.