首页 > 试题广场 >

路灯

[编程题]路灯
  • 热度指数:35784 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
一条长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
头像 finalKguo
发表于 2021-08-30 20:40:59
解题思路:路灯问题其实就是乱序求差值最大问题,既然需要所有的灯的灯光覆盖整条路,故两个灯之间不能有间隙。且假定所有的灯的照射距离d都是相同的。只需要求解路灯中间距最大的两个路灯的距离,即可满足要求。解题步骤:1、输入第一行程序2、将第二行数据插入到新建的vector容器中3、对乱序的数组进行排序(升 展开全文
头像 hyandsg
发表于 2021-01-31 11:00:43
基本思路:排序之后求相邻元素的差值的最大值即可。个人排雷:1: 端点 0,l 需要单独考虑,2:保留两位小数:String.format("%.2f,ret);3:空间换时间,时间复杂度应该可以降到o(n),但是数据量n<1000,排序应该够用了。 import java.util.*; pu 展开全文
头像 只会写java的程序猿
发表于 2021-08-24 08:38:53
java代码 import java.text.DecimalFormat; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new 展开全文
头像 法法不熬夜
发表于 2025-05-07 11:05:31
#include <iostream> #include<vector> #include<algorithm> #include<iomanip> using namespace std; /*解题思路:用vector容器存储路灯的坐标并排序, 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-12 12:06:02
需注意 最后要与保底的边界条件进行比较,才能得出正确值 #include <algorithm> #include <iomanip> #include <iostream> #include <vector> using namespace std 展开全文
头像 循环的西西弗斯
发表于 2024-08-19 18:59:25
#include <stdio.h> #include <stdlib.h> int cmp(int* a1,int* a2) { return *a1-*a2; } int main() { int n, l; int i=0; while( 展开全文
头像 完全没头绪
发表于 2023-03-30 10:44:39
using System; using System.Collections; using System.Collections.Generic; public class Program { public static void Main() { //将路灯坐标排序,计算两 展开全文
头像 SESA635851施耐德
发表于 2022-07-15 10:08:00
这个应该i不算动态规划,有点像贪心的思路,简单贪心法。 既然求最小覆盖范围,那么就把路灯先排好序然后求两两之间的间距,然后除以2, 那个最大的间距就是d了。 要注意边界处理,第一个路灯和最后一个路灯。
头像 ZimingYang
发表于 2022-08-11 23:51:09
注意检查边界的coords[0]-0 和 l-coords[-1] while True: try: n, l = list(map(int, input().split())) coords = list(map(int, input().split())) 展开全文
头像 JIEIJ
发表于 2021-10-10 18:52:15
#include <stdio.h> int main() { int n,l; while(~scanf("%d %d\n",&n,&l)) { int s[1001]; for(int i=0;i<n;i+ 展开全文