Python---贪心的狗熊
生活随笔
收集整理的这篇文章主要介绍了
Python---贪心的狗熊
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
【问题描述】
我们都听说过狗熊掰棒子的故事。现在有一只狗熊拿着可以装个玉米的口袋去掰棒子。如果新掰到的玉米比口袋中最上面的玉米重,则用新掰到的玉米去替换口袋中最上面的玉米;否则,只要口袋未满,则将新掰到的玉米装入。求最终袋中玉米总重量。
【输入形式】
第一行输入口袋可以装载的玉米数目;之后m行输入m个正整数,表示待的玉米重量值,m=0表示结束。
【输出形式】
一行一个整数,表示最终袋中玉米总重量。
【样例输入】
3
6
4
10
3
6
4
7
2
0
【样例输出】
23
****【样例说明】****袋子深度为3,第一个6装入;第二个4比6小,袋子未满故装入;输入10替换掉4;输入3袋子未满装入;输入6替换掉3;输入4袋子已满不装;输入7替换掉6;输入2袋子已满不装;最
后袋子中的玉米为6、10、7,总重量为23
【代码尝试】
n = eval(input()) # 袋子容量 weight = 0 number = 0 # 记录袋子已装玉米数量 m = 0 # 输入的正整数 flag = 0 while 1:tmp = mm = eval(input())if m == 0:break# 若袋子还未装满if number < n:if m <= tmp:weight = weight + mnumber += 1else:weight = weight - tmp + mif number == 0:number += 1# 若袋子已经装满,tmp_top---最上面的玉米else:if flag == 0:tmp_top = tmpflag += 1if m > tmp_top:weight = weight - tmp_top + mtmp_top = m print(weight)总结
以上是生活随笔为你收集整理的Python---贪心的狗熊的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 压缩包的加密、去除密码、解密
- 下一篇: Python设计模式之享元模式(8)