1017:装箱问题
描述
一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。
输入
输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空格隔开,分别为1*1至6*6这六种产品的数量。输入文件将以6个0组成的一行结尾。
输出
除了输入的最后一行6个0以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。
样例输入
0 0 4 0 0 1
7 5 1 0 0 0
0 0 0 0 0 0
样例输出
2
1
来源
Central Europe 1996

问题链接:Bailian1017 装箱问题
问题描述:(略)
问题分析
    这个问题与参考链接的题是同一题,只是翻译了一下。解题思路参见程序代码中的注释。
程序说明:(略)
参考链接:POJ1017 ZOJ1307 UVA311 UVALive5526 Packets【贪心】
题记
    题做多了难免遇到相同的题。

AC的C语言程序如下:

/* POJ1017 ZOJ1307 UVA311 UVALive5526 Packets */#include <iostream>
#include <stdio.h>using namespace std;const int SIX = 6;
int orders[SIX + 1], sum;
int r33[] = {0, 5, 3, 1};   // r33[i]表示,箱子中装入i个3*3之后,剩余2×2空位有几个int main()
{for(;;) {sum = 0;for(int i = 1; i <= SIX; i++) {scanf("%d", &orders[i]);sum += orders[i];}if(sum == 0)break;// 先计算6×6、5×5、4×4和3×3需要的箱子数量sum = orders[6] + orders[5] + orders[4] + (orders[3] + 4 - 1) / 4;// 计算4×4和3×3箱子装箱后,空余的2×2的空位有几个int r22 = orders[4] * 5 + r33[orders[3] % 4];if(r22 < orders[2])sum += (orders[2] - r22 + 9 - 1) / 9;   // 1箱可以装入9个2×2// 计算5×5、4×4、3×3和2×2全部装箱后,空余的1×1的空位有几个int r11 = sum * 36 - orders[6] * 36 - orders[5] * 25 - orders[4] * 16 - orders[3] * 9 - orders[2] * 4;if(r11 < orders[1])sum += (orders[1] - r11 + 36 - 1) / 36;printf("%d\n", sum);}return 0;
}

Bailian1017 装箱问题【贪心】相关推荐

  1. 2018华为软挑--模拟退火+FF解决装箱问题【C++代码】

    算法简介: 装箱问题是一个NP完全问题,求解全局最优解有很多种方法:遗传算法.禁忌搜索算法.蚁群算法.模拟退火算法等等,本次使用模拟退火,它的优点是在参数合适的情况下基本上可以100%得到全局最优解, ...

  2. 程序设计入门经典题解(百练篇)

    参考链接:PKU百练题解(Bailian) Bailian1017 装箱问题[贪心] - 海岛Blog - CSDN博客 POJ1088 Bailian1088 滑雪[DFS+记忆化搜索]_海岛Blo ...

  3. 一维装箱问题 java_c语言来实现贪心算法之装箱问题

    装箱问题,贪心算法求近似最优解 import java.util.Arrays; import java.util.Comparator; //装箱问题,贪心算法 public class Encha ...

  4. 用贪心算法来解决沙袋装箱问题

    用贪心算法来解决沙袋装箱问题 参考文章: (1)用贪心算法来解决沙袋装箱问题 (2)https://www.cnblogs.com/liu-binq63/p/4343966.html 备忘一下.

  5. 装箱问题c语言函数,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  6. 算法训练 装箱问题(贪心,动态规划,蓝桥杯,C++)

    算法训练 装箱问题 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每 ...

  7. c语言装箱问题思路,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  8. 装箱算法 java_贪心算法装箱问题-Java代码

    关于装箱问题不作过多阐述了,, 这里用经典的1*1,2*2,3*3,4*4,5*5,6*6来装6*6的箱子,问所需要的箱子最少的个数 下面为Java代码 import java.util.Scanne ...

  9. POJ 1017 Packets【贪心】

    POJ 1017 题意: 一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为 1*1, 2*2, 3*3, 4*4, 5*5, 6*6.  这些产品通常 ...

最新文章

  1. 操作系统结构-外核结构
  2. python 函数返回值的特殊情况
  3. robotframework常见问题解决汇总
  4. 简单汇编----输入密码判断正否
  5. 11_CollapsingMergeTree,(State行和Cancel行匹配示例),聚合查询,Cancel状态行取反的聚合查询
  6. socket自定义框架
  7. 开源备份软件 oracle,oracle备份和恢复
  8. UWP Acrylic Material
  9. MongoDB学习day08--Mongoose索引、Mongoose内置方法、扩展Mongoose Model的静态方法和实例方法...
  10. 使用 SQL Server 代理来计划 SSAS 管理任务
  11. Docker 学习笔记 -- kuangshen Docker 视频学习笔记
  12. 如何用光盘映像文件重装服务器系统,光盘镜像文件怎么安装|教你安装光盘镜像方法...
  13. 固态硬盘SSD的接口如何选择
  14. [PYTHON]批量合并WORD文档,DOCX格式
  15. java自动旋转矫正图片方向
  16. 源中的 backports proposed security updates 什么意思?
  17. WebGL实时视频(5) awrtc.js理解并修改
  18. 华硕windows10怎么安装c语言,华硕A550CWIN10换WIN7怎么设置
  19. Linux Ubuntu下的文件IO介绍及实例应用(C语言)
  20. Java获取本机的ip地址和Mac地址

热门文章

  1. golang中的切片及内存拷贝
  2. Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践
  3. AS3连接MYSQL数据库
  4. python修改txt里面的内容_python修改txt部分内容,并保存。
  5. HTML与CSS各种代码与用法,几种关于html和css的使用方法
  6. hive之动态分区插入数据及其参数配置
  7. mac的终端通过ssh远程连接Linux服务器
  8. static_cast, dynamic_cast, const_cast,reinterpret_cast探讨
  9. nohup执行的jar 怎么kill_使用Shell脚本如何启动/停止Java的jar程序
  10. 判断当前窗体是否是顶级窗体