题意:小P开了一家淘宝店铺,店铺里所有的商品高度都为h,但长和宽分别为1*1,2*2,3*3,4*4,5*5,6*6六种规格。这一天来了一个大客户,他订购了很多物品。所以小P需要将东西都邮寄给他,但是小P只有高度为h,长宽为6*6的箱子,小P想知道自己最少需要用多少个箱子,才能把客户需要的所有物品都寄过去?(多组输入,遇到0 0 0 0 0 0结束)

题解:贪心的大水题,只要把握好从大到小放入箱子的同时,尽可能将箱子放满即可。

#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
const int inf = 0x3f3f3f3f;
typedef long long ll;
int n[];
int main(void)
{
ios::sync_with_stdio(false);
while (cin >> n[] >> n[] >> n[] >> n[] >> n[] >> n[])
{
int flag = ;
for (int i = ; i <= ; i++)
{
if (n[i] != )
flag = ;
}
if (flag == )break;
int ans = ;
ans += n[];
if (n[] > )
{
ans += n[];
n[] -= n[] * ;
if (n[] < )n[] = ;
}
if (n[] > )
{
ans += n[];
if (n[] >= n[] * )
n[] -= n[] * ;
else
{
int n1 = * n[] - n[] * ;
n[] = ;
n[] -= n1;
if (n[] < )n[] = ;
}
}
if (n[] > )
{
if (n[] % == )
ans += (n[] / );
else
{
ans += (n[] / ) + ;
n[] = n[] % ;
if (n[] == )
{
if (n[] >= )
{
n[] -= ;
n[] -= ;
if (n[] < )n[] = ;
}
else
{
n[] -= ( - n[] * );
n[] = ;
if (n[] < )n[] = ;
}
}
if (n[] == )
{
if (n[] >= )
{
n[] -= ;
n[] -= ;
if (n[] < )n[] = ;
}
else
{
n[] -= ( - n[] * );
n[] = ;
if (n[] < )n[] = ;
}
}
if (n[] == )
{
if (n[] >= )
{
n[]--;
n[] -= ;
if (n[] < )n[] = ;
}
else
{
n[] -= ( - n[] * );
n[] = ;
if (n[] < )n[] = ;
}
}
}
}
if (n[] > )
{
if(n[]%==)
ans += n[] / ;
else
{
ans += n[] / + ;
n[] = n[] % ;
n[] -= ( - n[] * );
n[] = ;
if (n[] < )n[] = ;
}
}
if (n[] > )
{
if(n[]%==)
ans += n[] / ;
else
ans += n[] / + ;
}
cout << ans << endl;
}
return ;
}

POJ1017贪心的更多相关文章

  1. poj-1017 Packets (贪心)

    http://poj.org/problem?id=1017 工厂生产高度都为h,长和宽分别是1×1 2×2 3×3 4×4 5×5 6×6的6种规格的方形物品,交给顾客的时候需要包装,包装盒长宽高都 ...

  2. 【贪心算法】POJ-1017

    一.题目 Description A factory produces products packed in square packets of the same height h and of th ...

  3. 装箱问题,贪心(POJ1017)

    题目链接:http://poj.org/problem?id=1017 解题报告: #include<stdio.h> int main() { int n,a,b,c,d,e,f,x,y ...

  4. POJ1017 【据说是贪心...】

    题意: 有6种面积的格子,给出这些格子的数量,然后有6*6的格子去容纳这6种面基,问最少需要几个6*6格子,使得所有类型的小格子被容纳. 思路: 按照面积的从大到小放. 一开始还是太天真,还要用各种1 ...

  5. POJ1017 Packets---贪心

    题目链接: https://vjudge.net/problem/POJ-1017 题目大意: 公司共有底面面积为1*1.2*2.3*3.4*4.5*5.6*6,高度同为H的六种产品,现在需要用最少的 ...

  6. 《挑战程序设计竞赛》2.2 贪心法-其它 POJ3617 3069 3253 2393 1017 3040 1862 3262

    POJ3617 Best Cow Line 题意 给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下列任意操作: 从S的头部(或尾部)删除一个字符,加到T的尾部 ...

  7. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1383  Solved: 582[Submit][St ...

  8. HDOJ 1051. Wooden Sticks 贪心 结构体排序

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  9. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

随机推荐

  1. Jmeter连接数据库进行参数化

    实际使用Jmeter进行性能测试或接口测试自动化过程中,很多场景需要从数据库中获取一些关键性参数,或进行一些断言,比较,那么如何进行数据库连接以及怎么获取参数就变得尤为重要 一.下载mysql驱动 1 ...

  2. STL中的set和multiset

    注意: 1.count() 常用来判断set中某元素是否存在,因为一个键值在set只可能出现0或1次. 2.erase()用法 erase(iterator)  ,删除定位器iterator指向的值 ...

  3. iOS -实现UIView圆角显示的方法

    添加一个UIView时,默认直角显示有时对于有强迫症的患者还真有点不舒服! eg: 怎么实现UIview的圆角显示呢? 首先包含一个头文件: #import <QuartzCore/Quartz ...

  4. ES 复合查询

    ES在查询过程中比较多遇到符合查询,既需要多个字段过滤也需要特殊情况处理,本文简单介绍几种查询组合方便快捷查询ES. bool布尔查询有一个或者多个布尔子句组成     filter 只过滤符合条件的 ...

  5. 02.快捷键及基本dos命令

    无论是使用Windows.Linux操作系统,还是在IDE中,快捷键都是系统本身的标配,事实上,Ctrl+C.V这样的操作,可以帮我们节省大量的时间,如果在IDE中编写代码,除了代码本身,将其余所有的 ...

  6. 动作函数-web_url

    web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "TargetFrame=&qu ...

  7. vue事件修饰符与按钮修饰符

    事件修饰符:(当事件无需传参数时可直接写成以下形式,有参数时则为@click.stop="handleLiClick($event)") stop:阻止事件冒泡行为(子元素被点击, ...

  8. thinkphp3.2 where 条件查询

    thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用 查询条件 支持的表达式查询,tp不区分大小写 含义 TP运算符 SQL运算符 例子 ...

  9. JMETER学习宝典

    1. 简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序).它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Ja ...

  10. 专家解读:利用Angular项目与数据库融合实例

    摘要:面对如何在现有的低版本的框架服务上,运行新版本的前端服务问题,华为云前端推出了一种融合方案,该方案能让独立的Angular项目整体运行在低版本的框架服务上,通过各种适配手段,让Angular项目 ...