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

A - 装箱问题的更多相关文章

  1. TYVJ P1016 装箱问题

    P1016 装箱问题 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 太原成成中学第2次模拟赛 第三道 描述 有一个箱子容量为v(正整数,o≤v≤20000) ...

  2. wikioi 1014 装箱问题

    来源:http://wikioi.com/problem/1014/ 1014 装箱问题 29人推荐 收藏 发题解 提交代码 报错 题目描写叙述 输入描写叙述 输出描写叙述 例子输入 例子输出 提示 ...

  3. 装箱问题的CPLEX求解

    装箱问题(Bin Packing Problem) 装箱问题即搬家公司问题.一个搬家公司有无限多的箱子,每个箱子的承重上限为W,当搬家公司进入一个房间时,所有物品都必须被装入箱子,每个物品的重量为wi ...

  4. 洛谷 P1049 装箱问题

    \[传送门在这呢!!\] 题目描述 有一个箱子容量为\(V\)(正整数,\(0 \le V \le 20000\)),同时有\(n\)个物品(\(0<n \le 30\),每个物品有一个体积(正 ...

  5. 装箱问题(NOIP2001&水题测试2017082401)

    题目链接:装箱问题 这题经典的01背包. 动规. 设计状态f[n][V]表示前n个物体放在V中的最大体积是多少. 所以代码如下: #include<bits/stdc++.h> using ...

  6. luogu1049装箱问题

    装箱问题 传送门 一个箱子容量为V//容量 同时有n个物品//n个 体积&&价值 要求n个物品中任取若干个装入箱内,使箱子的剩余空间为最小// v减去价值最大 */ #include& ...

  7. codevs 3152 装箱问题3

    装箱问题3 http://codevs.cn/problem/3152/ 题目描述 Description 设有n种物品,记作A1.A2.….An,对应于每个Ai(1<=i<=n)都有一个 ...

  8. 蓝桥杯 算法训练 ALGO-21 装箱问题

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

  9. P1049 装箱问题

    装箱问题 题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使 ...

  10. 装箱问题【STL】

    7-9 装箱问题(20 分) 假设有N项物品,大小分别为s​1​​.s​2​​.-.s​i​​.-.s​N​​,其中s​i​​为满足1≤s​i​​≤100的整数.要把这些物品装入到容量为100的一批箱 ...

随机推荐

  1. Nginx+Keepalived负载均衡+后端LNMP网站集群

    Centos6.4 x86,4台,地址是10.10.10.11-14,vip给的100,目标是在13和14安装nginx+keepalived,11和12安装nginx+mysql+php,做为web ...

  2. java 访问docker的环境

    1.   配置环境 新增 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock root@ros ...

  3. 如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去

    SHINA是SAP HANA Interactive Education的缩写,是一个demo应用,用于演示如何开发SAP HANA原生应用. 这个应用包含了sample数据以及HANA数据库表,vi ...

  4. db2新添用户

    --1.新添用户  -目录 /XX/XX  -组  XX 用户名useradd -d /home/xx -g users xx--2.修改密码passwd xx--3.在QC中grant权限.新添表空 ...

  5. HDU - 5457 Hold Your Hand (Trie + 最小割)

    Hold Your Hand Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others)T ...

  6. Java删除开头和末尾字符串

    //扩展2个String方法 /* * 删除开头字符串 */ public static String trimstart(String inStr, String prefix) { if (inS ...

  7. 个人对spring的IOC+DI的封装

    暂时支持8种基本数据类型,String类型,引用类型,List的注入. 核心代码 package day01; import java.lang.reflect.Field;import java.l ...

  8. loj6485 LJJ 学二项式定理

    题目描述: loj 题解: 单位根反演. $[n|x]=\frac{1}{n} \sum _{i=0}^{n-1} (ω_n^x)^i$ 证明?显然啊,要么停在$(1,0)$要么转一圈. 所以说题目要 ...

  9. 消息中间件ActiveMQ及Spring整合JMS

    一 .消息中间件的基本介绍 1.1 消息中间件 1.1.1 什么是消息中间件 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排 ...

  10. 多线程辅助类之CountDownLatch(三)

    CountDownLatch信号灯是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待.它可以实现多线程的同步互斥功能,和wait和notify方法实现功能类似,具体 ...