POJ1017贪心
题意:小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贪心的更多相关文章
- poj-1017 Packets (贪心)
http://poj.org/problem?id=1017 工厂生产高度都为h,长和宽分别是1×1 2×2 3×3 4×4 5×5 6×6的6种规格的方形物品,交给顾客的时候需要包装,包装盒长宽高都 ...
- 【贪心算法】POJ-1017
一.题目 Description A factory produces products packed in square packets of the same height h and of th ...
- 装箱问题,贪心(POJ1017)
题目链接:http://poj.org/problem?id=1017 解题报告: #include<stdio.h> int main() { int n,a,b,c,d,e,f,x,y ...
- POJ1017 【据说是贪心...】
题意: 有6种面积的格子,给出这些格子的数量,然后有6*6的格子去容纳这6种面基,问最少需要几个6*6格子,使得所有类型的小格子被容纳. 思路: 按照面积的从大到小放. 一开始还是太天真,还要用各种1 ...
- POJ1017 Packets---贪心
题目链接: https://vjudge.net/problem/POJ-1017 题目大意: 公司共有底面面积为1*1.2*2.3*3.4*4.5*5.6*6,高度同为H的六种产品,现在需要用最少的 ...
- 《挑战程序设计竞赛》2.2 贪心法-其它 POJ3617 3069 3253 2393 1017 3040 1862 3262
POJ3617 Best Cow Line 题意 给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下列任意操作: 从S的头部(或尾部)删除一个字符,加到T的尾部 ...
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
随机推荐
- NetAnalyzer笔记 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.协议分析与统计
数据分析 完成了数据的抓取,那么接下来就是NetAnalyzer的第二个重点部分了,协议分析作为整个软件的核心之一,在最新的NetAnalyzer中已经得到了巨大的提升.NetAnalyzer中协议分 ...
- 3.vue计算属性
1.计算属性 再vue中如果出现表达式过长或者逻辑比较复杂,这时会导致代码不清晰,臃肿,难以维护所以我们会使用计算属性进行书写 再计算属性中可以放负责的逻辑,可以是函数,表达式等,但最终会返回一个 ...
- [web][学习随笔]php中http post&get数据传输
GET <!--客户端发送--> <form id="form1" action="doGet.php" method="get&q ...
- 使用jdk1.8 stream特性对参数名称进行排序
在对外对接的时候,通常会碰到签名方式, 然后签名的时候,要求按照参数名称进行排序. 比如参数为 c=22&a=1, 需要将结果排序为a=1&c=22, 然后再进行别的运算. 可以使用j ...
- 微信小程序实现连续扫码功能(uniapp)
注:本文使用的是 uniapp 语法. 微信小程序提供了扫码API:wx.scanCode,但它只能扫一次码,想要实现连续扫码,需要借用 camera 组件.camera 组件不仅能拍照,还具有扫码功 ...
- @atcoder - ARC077F@ SS
目录 @description@ @solution@ @accepted code@ @details@ @description@ 规定一个字符串为 "偶串" 当且仅当它可以表 ...
- 数列计算I(整理四舍五入)
问题 C: 数列计算I(点击) 时间限制: 1 Sec 内存限制: 128 MB ...
- linux使用组ID(SGID)共享文件
假如你有这样一个需求,一个小组内很多成员共同研究一个项目,为了这个项目我们需要分配一个具体的目录. 所有成员都拥有该目录的使用权限,可以互相操作成员的文件及内容.而且不允许其他人查看. 现在开始操作: ...
- animation 动画 与 transition
animation: name duration timing-function delay iteration-count direction; 值 描述 animation-name 规定需要绑定 ...
- 东方步进电机马达驱动板CVK系列说明书
东方步进电机马达驱动板CVK系列说明书