急问!!!!!!!!求高手!

leocs523 2012-02-11 04:17:52
一共155个箱子 三辆车 第一辆能运28箱 运费2000元 第二辆能运36箱 运费2500 第三辆能运48箱 运费3500 怎样运最划算
...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称很不好取 2012-02-11
  • 打赏
  • 举报
回复
最基本的穷举就可以了
int main()
{
const int TOTALBOX = 155;
const int FIRSTBOXCARRY = 28;
const int SECONDBOXCARRY = 36;
const int THIRDBOXCARRY = 48;
const int FIRSTTRUCKPRICE = 2000;
const int SECONDTRUCKPRICE = 2500;
const int THIRDTRUCKPRICE = 3500;

int firstTruck = 0;
int secodTruck = 0;
int thirdTruck = 0;
int minValue = TOTALBOX * THIRDTRUCKPRICE;
int price = 0;
int carNum[3] = {0};

for(firstTruck=0; firstTruck<=(1+TOTALBOX/FIRSTBOXCARRY); ++firstTruck){
for(secodTruck=0; secodTruck<=(1+TOTALBOX/SECONDBOXCARRY); ++secodTruck){
for(thirdTruck=0; thirdTruck<=(1+TOTALBOX/THIRDBOXCARRY); ++thirdTruck){
if(firstTruck*28 + secodTruck*36 + thirdTruck*48 >= TOTALBOX){
price = firstTruck*FIRSTTRUCKPRICE + secodTruck*SECONDTRUCKPRICE + thirdTruck*THIRDTRUCKPRICE;
if(price < minValue){
minValue = price;
carNum[0] = firstTruck;
carNum[1] = secodTruck;
carNum[2] = thirdTruck;
}
}
}
}
}
printf("Total price: %d, Truck number: %d %d %d\n",minValue,carNum[0],carNum[1],carNum[2]);

return 0;
}
尘缘udbwcso 2012-02-11
  • 打赏
  • 举报
回复
28*x + 36*y + 48*z >= 155
0 <= x < 6
0 <= y < 5
0 <= z < 4
求2000*x + 2500*y + 3500*z最小值

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧