2026/4/6 10:57:12
网站建设
项目流程
益阳住房和城乡建设局网站,网游推广,网页定制多少钱,wordpress固定连接文件夹理解题目
本题要求找使最高的山和最低的山之间的差值不超过17#xff0c;还要使花费最少
确定算法
一开始我想直接对列表排序#xff0c;用最高值减最低值得到差值#xff0c;两边都减差值的均值#xff0c;这样忽略了只减最高值或最低值的情况#xff0c;并且只能减整数还要使花费最少确定算法一开始我想直接对列表排序用最高值减最低值得到差值两边都减差值的均值这样忽略了只减最高值或最低值的情况并且只能减整数均值不是整数的情况难处理排除这种方法。这题应该用贪心更好做枚举所有可能的上界和下界大于上界的山就减到上界的大小计算花费下界同理。记录不同上下界的花费找最低即可实现代码withopen(skidesign.in,r)asfin:nint(fin.readline())hill[int(fin.readline())for_inrange(n)]min_moneyfloat(inf)forLinrange(min(hill),max(hill)-171):RL17money0forhinhill:ifhR:money(h-R)*(h-R)elifhL:money(h-L)*(h-L)else:continuemin_moneymin(money,min_money)#print(f{R}:{min_money})withopen(skidesign.out,w)asfout:fout.write(str(min_money)\n)