Python 1000学生春游选4中交通方案问题如何解?
Python 1000学生春游选4中交通方案问题如何解?学校组织春游,共有1000人,
用四种运输方式运送,
1大巴车,最多运输80人,每辆要3000元,
2中巴车,最多运输60人,每辆要2600元,
3小巴车,最多运输40人,每辆 2200元,
4打车,每次1人,每辆220元
求从1人增加到1000人,不同人数时的最佳选车组合, 100人,中巴+小巴 4800 < 大巴 + 打车 = 5200 num=int(input("请输入学生人数(1~1000):"))
lbus,mbus,sbus,taxi=0,0,0,0
if num>=102:
lbus=(num-101)//80+1
temp=num-lbus*80
if temp in range(89,102):
mbus=1
sbus=1
taxi=(temp-100 if temp-100>0 else 0)
elif temp in range(62,89):
lbus+=1
taxi=(temp-80 if temp-80>0 else 0)
elif temp in range(42,62):
mbus=1
taxi=(temp-60 if temp-60>0 else 0)
elif temp in range(11,42):
sbus=1
taxi=(temp-40 if temp-40>0 else 0)
else:
taxi=temp
money=taxi*220+sbus*2200+mbus*2600+lbus*3000
print("大巴:%d,中巴:%d,小巴:%d,出租:%d,共%d元"%(lbus,mbus,sbus,taxi,money)) 背包问题 非常感谢,总结一下思路:
1. 找最优方案, 大巴 人均费用最低,人多的时候,优选大巴
2. 找临界点,区别人多 与 人少的情况,
3. 细分人少时的优化方案
大神好,非常感谢 您的 回复,在这个可以用遍历 的方法实现吗?4种交通工具 不同组合,看是否满足 人数,在满足人数的请款下输出 价格最低值
sunrise085 发表于 2020-5-15 11:01
大神好,非常感谢 您的 回复,在这个可以用遍历 的方法实现吗?
4种交通工具 不同组合,
看是否满足 人数,
在满足人数的请款下输出 价格最低值
可以用遍历的方法
页:
[1]