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) ...
随机推荐
- 4.keras-交叉熵的介绍和应用
keras-交叉熵的介绍和应用 1.载入数据以及预处理 import numpy as np from keras.datasets import mnist from keras.utils imp ...
- [windows][技巧]百度网盘提示您的电脑已安装百度网盘,是否覆盖,解决方法
目录 故障描述 解决方法 故障描述 解决方法 win+r,输入regedit,进入注册表 依次打开HKEY_CURRENT_USER->Software->Baidu->BaiDuY ...
- MyBatis运行流程及入门第一个程序
1. mybatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...
- ODEINT 求解常微分方程(2)
import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # function tha ...
- [每日一题2020.06.12]P3375 【模板】KMP字符串匹配
题目链接 关于kmp : https://www.cnblogs.com/roccoshi/p/13096988.html 关于kmp, 想了很久, 我觉得不应该放在这里写, 另开一贴记录一下. #i ...
- postman获得时间戳和md5加密的方法
注意点:记得用postman.setGlobalVariable设置全局变量,不然{{strmd5}}这种变量取不到值
- 安装elasticsearch的坑
elasticsearch启动报“此时不应有 \Common 原因 Java 环境变量出错 解决 修改 elasticsearch.bat , 添加一句 : SET params='%*' SET J ...
- root和sudo
root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限.一些需要root权限的应用,譬如广告阻挡,是需要root权限的.可问题在于root比windows的系统管理员的能力更大,足以把整个系 ...
- 这一次搞懂Spring的XML解析原理
前言 Spring已经是我们Java Web开发必不可少的一个框架,其大大简化了我们的开发,提高了开发者的效率.同时,其源码对于开发者来说也是宝藏,从中我们可以学习到非常优秀的设计思想以及优雅的命名规 ...
- shellcode 免杀(一)
工具免杀 选择了几个简单或者近期还有更新的免杀工具进行学习 ShellcodeWrapper https://github.com/Arno0x/ShellcodeWrapper 该工具的原理是使用异 ...