说明
全班共有100人去公园划船,其中男生m人。公园里有大船、中船和小船共租用,三种船最多可坐的人数和租金价格如下表所示。现要求男生和女生要坐到不同的船上,请问最便宜的租船方案是如何坐船,请求出大船、中船、小船各需租用多少只,才能按照最便宜的方案装下100人?
船的型号 | 船的载客量 | 半天的出租金额 |
---|---|---|
大船 | 6人 | 100元 |
中船 | 3人 | 75元 |
小船 | 2人 | 60元 |
输入数据
一个整数m代表男生的人数
输出数据
三个整数,分别代表需要租用大船的数量、中船的数量以及小船的数量,用空格隔开3个整数
题解
# include <bits/stdc++.h>
using namespace std;
int main(){
int m,a,b,c,d,e,f,g,h,i,j,k;
cin>>m;
a=100-m;
b=m%6;
c=b%3;
g=a%6;
h=g%3;
if (c%2==0)
{
d=m/6;
e=b/3;
f=c/2;
}
else
{
d=m/6;
e=b/3;
f=c/2+1;
}
if (h%2==0)
{
i=a/6;
j=g/3;
k=h/2;
}
else
{
i=a/6;
j=g/3;
k=h/2+1;
}
cout<<d+i<<" "<<e+j<<" "<<f+k;
return 0;
}