1319: 【基础】需要租多少只船最经济?
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:26
解决:14
题目描述
全班共有100人去公园划船,其中男生m人。公园里有大船、中船和小船共租用,三种船最多可坐的人数和租金价格如下表所示。现要求男生和女生要坐到不同的船上,请问最便宜的租船方案是如何坐船,请求出大船、中船、小船各需租用多少只,才能按照最便宜的方案装下100人?(6.2.28)
船的型号 |
船的载客量 |
半天的出租金额 |
大船 |
6人 |
100元 |
中船 |
3人 |
75元 |
小船 |
2人 |
60元 |
输入
一个整数m代表男生的人数
输出
三个整数,分别代表需要租用大船的数量、中船的数量以及小船的数量,用空格隔开3个整数
样例输入 复制
64
样例输出 复制
16 0 2
提示
m=int(input()) #男生人数 n=100-m #女生人数 m1=m//6 #所有男生首先租6人船 n1=n//6 #所有女生首先租6人船 if (m-m1*6)%4==0: #如果剩余的人数是4,则全部租2人船,这比3人船+2人船的组合租金更低 m2=0 m3=(m-m1*6)//2 else: #如果剩余的人数不是4,则先租3人船,然后再租2人船 m2=(m-m1*6)//3 m3=(m-m1*6-m2*3)//2 if (n-n1*6)%4==0: #女生是同样的逻辑 n2=0 n3=(n-n1*6)//2 else: n2=(n-n1*6)//3 n3=(n-n1*6-n2*3)//2 if m-m1*6-m2*3-m3*2>0: #如果剩下1人,则必须再租1艘2人船 m3+=1 if n-n1*6-n2*3-n3*2>0: n3+=1 ans1=m1+n1 ans2=m2+n2 ans3=m3+n3 print('%d %d %d'%(ans1,ans2,ans3))