Problem Description

一个工厂生产的产品形状都是长方体,高度都是h,主要有1*1,2*2,3*3,4*4,5*5,6*6等6种。这些产品在邮寄时被包装在一个6*6*h的长方体包裹中。由于邮费很贵,工厂希望减小每个订单的包裹数量以增加他们的利润。因此他们需要一个好的程序帮他们解决这个问题。你的任务就是设计这个程序。

Input

输入包括多组测试数据,每一行代表一个订单。每个订单里的一行包括六个整数,用空格隔开,从小到大分别为这6种产品的数量。6个0表示文件结束。

Output

针对每个订单输出一个整数,占一行,代表对应的订单所需的最小包裹数。没有多余的空行。

Sample Input

0 0 4 0 0 1
7 5 1 0 0 0
0 0 0 0 0 0

Sample Output

2
1
#include <iostream>
#include <math.h> using namespace std; int main(int argc, const char * argv[])
{
int boxA,boxB,boxC,boxD,boxE,boxF;//不同底面积箱子数量
int left2x2,left1x1;
int countBox;//使用大箱子数量 while(cin>>boxA>>boxB>>boxC>>boxD>>boxE>>boxF)
{
//结束条件
if (boxA == && boxB == && boxC == && boxD == && boxE == && boxF == )
{
break;
}
//体积为4、5、6的有一个就需要一个箱子,体积为3的需要boxC / 4个箱子
countBox = boxD + boxF + boxE + (boxC + ) / ; //剩余的空间我们采取贪心的策略,先放2 * 2的箱子,4 * 4的箱子还剩下boxD * 5个2 * 2的空间
left2x2 = boxD * ; //对于3 * 3底面积的需要分情况讨论
if (boxC % == ) //3 * 3的箱子装完了还剩下3个,只留下了1个2 * 2的空间
{
left2x2 += ;
}
else if (boxC % == ) //这种情况下留下了3个2 * 2的空间
{
left2x2 += ;
}
else if (boxC % == ) //注意哦,这种情况下最多可以留下5个2 * 2的空间哈
{
left2x2 += ;
} if (left2x2 < boxB)
{
countBox += (((boxB - left2x2) + ) / ); //2 * 2箱子没地方的,开新箱子。
}
//解决了2 * 2的空间还剩下1 * 1的,总体积减去所有其他箱子的体积,就剩下1 * 1的空间了。
left1x1 = * countBox - * boxF - * boxE - * boxD - * boxC - * boxB;
if (left1x1 < boxA)//空间不够,加大箱子
{
countBox += (((boxA - left1x1) + ) / );
}
cout

最新文章

  1. publishing failed with multiple errors resource is out of sync with the file system--转
  2. MFC编程入门之二十六(常用控件:滚动条控件ScrollBar)
  3. shell命令date
  4. D3D中深度测试和Alpha混合的关系
  5. Mysql table ful
  6. Xmanager连接CentOS的远程桌面
  7. (翻译) Android ListView 性能优化指南
  8. css基础详解(1)
  9. PHP UEditor富文本编辑器 显示 后端配置项没有正常加载,上传插件不能正常使用
  10. 渗透测试,form对象类型转换,简单demo
  11. 二叉树的最大深度算法面试题-leetcode学习之旅(3)
  12. Python数据结构应用2——Queue
  13. 高分辨率下放大netbeans中的小图标
  14. postgresql-删除重复数据
  15. webpack中mainifest.js vendor.js app.js 三者的区别
  16. 警惕ASP.NET MVC中的ValidateInputAttribute
  17. 深入理解ajax系列第八篇——表单提交
  18. java基础:关于java流与文件操作
  19. oracle ITL(事务槽)的理解
  20. Linux上编译hadoop-2.7.1的libhdfs.so和libhdfs.a

热门文章

  1. Python+selenium之获取验证信息
  2. js修改文档的样式
  3. java面试题(杨晓峰)---以面试题为切入点,有效提升你的java内功
  4. [VC]ocx控件怎么屏蔽backspace的后退键
  5. What is a meta-class in Objective-C?
  6. .vue公共组件裁减导航
  7. Bootstrap历练实例:下拉菜单插件方法的使用
  8. libnet TCP示例
  9. 测试 code style
  10. logging console not work