【CSDN每日一练】路灯亮度

  • 题目名称:路灯亮度

时间限制:1000ms 内存限制:256M

  • 题目描述

有一条长度为n米的街道,上面分布着一些亮度不等的路灯。每离开某盏路灯1米,该位置受该盏路灯影响的亮度就比该盏路灯的原始亮度减少1个单位,而某个特定位置的最终亮度则等于所有影响该位置的路灯亮度的最大值,而亮度的最小值为0。

  • 输入描述:

第一行输入两个正整数n和m分别表示街道长度和路灯数量,从第二行开始的m行每行两个正整数p和l分别表示路灯的位置和光亮程度(1<=p<=n)。再随后的q行每行都有一个正整数i,表示一个位置。

  • 输出描述:

输出q行表示所有的i对应的位置的亮度值

  • 示例
输入输出
10 2
1 5
4 3
1
3
10
5
3
10

思路:将路灯对每个位置的影响存储在数组中,最后根据索引输出亮度值
限制:平台提醒内存不足或运行时间过长

n, m = map(int, input().split())

brightness = [0] * n  # 初始化亮度数组
light_pos_brightness = []

# 路灯位置及亮度
for _ in range(m):
    pos, b = map(int, input().split())
    light_pos_brightness.append((pos, b))

# 更新路灯对路面的影响
for j, k in light_pos_brightness:
    for l in range(n):
        brightness[l] = max(max(k - abs(j - 1 - l), brightness[l]), 0)
    brightness[j - 1] = k

# 读取索引
index = []
while True:
    try:
        position = input().strip()
        if position:
            index.append(int(position))
        else:
            break
    except EOFError:
        break

# 根据索引,输出亮度
for i in index:
    print(brightness[i - 1])

  • jupyter
10 2
1 5
4 3
1
3
10

5
3
0
  • 试题平台
运行中...
运行失败:不通过
您的代码已保存。
运行超时,您的程序未能在规定的时间内运行结束,请检查是否循环有错或算法复杂度过大。

总结:在jupyter里运行没问题,但是在试题平台报错,如果您有更好的idea,欢迎在评论区留言,感谢观看!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值