#C05TL06P06. C05T.L06.实战训练六.题目6.画圆
C05T.L06.实战训练六.题目6.画圆
题目描述
小明有 n 个点,编号为 1∼n ,编号为 i 的点的坐标为 ()。小明想画一些圆,每个圆都以圆点 ( 0 , 0 ) 为圆心,且经过某个小明拥有的点,每个圆的半径不相等。假设点 ( x,y ) 到圆心 ( 0 , 0 ) 的距离为半径 r ,则必然存在 = + 。小明希望按照圆的半径由小到大来画圆,所以他会先画半径最小的圆。当小明画第 p 个圆的时候,若这个圆经过的点的编号为 q ,则小明需要花费 的精力。若两个圆的半径相等,为了节省精力,小明只会画编号较小的那个圆。求按这样的画法,小明需要花费的总精力。
输入格式
第一行,包含一个整数 n ( 1 ≤ n ≤ )。
接下来 n 行,每行包含两个整数( ) ( 1 ≤ ≤ ) 表示第 i 个点的坐标。
数据范围
对于 60% 的数据 , 1 ≤ n≤ , 1 ≤ ≤
对于 100% 的数据 , 1 ≤ n ≤ , 1 ≤ ≤
输出格式
1 个整数,表示小明需要花费的总精力。
由于答案可能很大,只需要输出答案对 +7 取模的结果。
样例
4
1 2
2 1
1 3
2 2
118
样例解释
编号为 1 的点,坐标为(1,2),则经过此点的圆的半径r,满足 = 1*1+2*2=5
编号为 2 的点,坐标为(2,1),则经过此点的圆的半径r,满足 =2*2+1*1=5
编号为 3 的点,坐标为(1,3),则经过此点的圆的半径r,满足 =1*1+3*3=10
编号为 4 的点,坐标为(2,2),则经过此点的圆的半径r,满足 =2*2+2*2=8
已知小明按照半径由小到大画圆,所以:
第 1 个圆经过编号 1 ,其半径满足 =5,耗费的精力为 5*(1+1)=10,
第 2 个圆经过编号 4 ,其半径满足 =8,耗费的精力为 8*(2+4)=48,
第 3 个圆经过编号 3 ,其半径满足 =10,耗费的精力为 10*(3+3)=60,
所以小明总共绘制了 3 个圆,并且花费的总精力为 118
相关
在以下作业中: