[USACO NOV]视线

Grade Open Time Friday, 19 September 2014, 10:07 am
Discount 0.8 Time Discount Friday, 26 September 2014, 10:07 am
Allow late Yes Close Time Friday, 26 September 2014, 10:07 am
Input file sight.in Output file sight.out

【题目描述】


    FJ的N(1<=N<=50,000)头牛被安置在他的二维平面牧场上互不相同的点上,在牧场中央是一个大的圆形谷仓,处于谷仓两边相对位置的牛无法看到彼此,因为视线会被谷仓遮挡。请计算借由直线视线能看到彼此的牛的对数。

    谷仓的中心点坐标为(0,0),半径为R,谷仓所处的圆的边线及圆内均没有牛,任意两头牛都不会同时处于圆的某条切线上。R的取值为1~1,000,000,每头牛的位置坐标均为-1,000,000~+1,000,000的整数。


【输入格式】


第1行:两个整数N,R;

第2~N+1行:每行有两个整数,表示一头牛的位置坐标。


【输出格式】

一行,即能互相看到的牛的对数。

【样例输入】

4 5
0 10
0 -10
10 0
-10 0

【样例输出】

4
输出解释:
在所有牛的6对组合中,只有两对是互相看不到的,分别是坐标为(-10,0)和(10,0)的,以及坐标为(0,10)和(0,-10)的。

【提示】

在此键入。

【来源】

USACO 2013 November Contest, Gold