解题思路:用Python不好写,一直时间超限
注意事项:
参考代码:
def find(lis,n,L,W):
ls=sorted(lis,key=lambda x:x[0])
da=[[0,0]]
for l in ls:
if l[1]<W/2:
continue
m=((l[1])**2-(W/2)**2)**0.5
a=l[0]-m
b=l[0]+m
for i in range(len(da)):
if a<=da[i][1] and b>da[i][1] and i==len(da)-1:
da.append([a,b])
break
if a<=da[i][1] and b>da[i][1] and i<len(da)-1 and b>da[i+1][1]:
da[i+1]=[a,b]
break
for i in range(len(da)):
if da[i][1]>=L:
return i
else :
return -1
n=int(input())
for i in range(n):
n,L,W=map(int,input().split())
lis=[list(map(int,input().split())) for i in range(n)]
print(find(lis,n,L,W))
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复