本文主要是介绍P4995 跳跳!Python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目地址:P4995 跳跳!
此题是一道比较水的题,题目的具体意思就是要求每次要选择差值最大的两个高度进行跳跃,由此我们可以比较清楚的想到差值的最大不就是 最大值 - 最小值 吗?为了方便选择,我们输入数据后先将其按照从大到小进行排序,然后设置两个指针一个一个遍历即可。
完整代码:
n = int(input())
height = list(map(int, input().split()))
count, expend = 0, 0
left, right = 0, n # 因为要添加地面的高度,所以右指针设为ndef jump(x, y):global expendexpend += (height[y] - height[x]) ** 2return expendheight.append(0) # 添加地面高度
height.sort() # 从小到大排序
while count < n: # 不要 <= ,<=会导致在面对n为奇数时会多走一步循环jump(left, right)left += 1 # 左指针右移jump(left, right)right -= 1 # 右指针左移count += 2print(expend)
又水一贴,真是辛苦我了
这篇关于P4995 跳跳!Python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!