# 点数据:
import math
import random
points = sorted([(random.randint(-10000,10000),random.randint(-10000,10000)) for i in range(10000)],key=lambda x:abs(x[1]), reverse=True)
D = abs(points[0][1]) + random.randint(1,3)
# code
# 1 取得所有区间,排序
qujians = sorted([(i[0]-math.sqrt(D**2-i[1]**2) ,i[0]+math.sqrt(D**2-i[1]**2)) for i in points],key=lambda x:x[1])
# 2 计数右侧的点
print(qujians[:5])
count =1
print(qujians[0])
chose_point = qujians[0][1]
for nextpoint in qujians:
if nextpoint[0]>chose_point:
count+=1
chose_point=nextpoint[1]
print(nextpoint)
print(count)
09-26
1305