【蓝桥杯】算法提高 快乐司机
题目描述思路分析代码实现
题目描述
题目链接:快乐司机 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 “嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙” 这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。多拉不是超载,是要让所载货物价值最大,特别是在当前油价日新月异的时候。司机所拉货物为散货,如大米、面粉、沙石、泥土… 现在知道了汽车核载重量为w,可供选择的物品的数量n。每个物品的重量为gi,价值为pi。求汽车可装载的最大价值。(n
return g1.ave>g2.ave;
}
int main()
{
int n,w;
scanf("%d%d",&n,&w);
for(int i=0;i
for(int i=0;i
ans+=w*g[i].ave;
w=0;
}
else//如果物品的重量小于w,则全部带走
{
ans+=g[i].p;
w-=g[i].g;
}
}
w=0;//所有货物都装完,还能装
}
printf("%.1f\n",ans);
return 0;
}
代码参考:蓝桥杯-算法提高 快乐司机(排序+贪心)
|