算法练习(动态规划)
Posted 小小菜_v
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法练习(动态规划)相关的知识,希望对你有一定的参考价值。
WY2 路灯
描述 一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai
,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要使这个d最小,请找到这个最小的d。 输入描述:
每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐标,多个路灯可以在同一点。
输出描述: 输出答案,保留两位小数。
示例1
输入:
7 15
15 5 3 7 9 14 0
输出:2.50
while True:
try:
l_n = [int(i) for i in sys.stdin.readline().strip().split()]
lines = sys.stdin.readline().strip().split()
new_line = sorted([int(line) for line in lines])
d_list = []
# 遍历,获取相邻两位数之差除以2
for i in range(len(new_line)-1):
d_list.append((new_line[i+1] - new_line[i])/2)
# 首尾边界
d_list.append(new_line[0]-0)
d_list.append(l_n[-1]-new_line[-1])
# 获取最大的边距值
min_d = max(d_list)
print('%.2f'%min_d)
except:
break
以上是关于算法练习(动态规划)的主要内容,如果未能解决你的问题,请参考以下文章