博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1017 Packets(贪心)
阅读量:6312 次
发布时间:2019-06-22

本文共 898 字,大约阅读时间需要 2 分钟。

题意:

有高度相同,底面积为1*1,2*2,3*3……6*6的产品,包裹底面积是6*6的,求最小的包裹数。

要点:

很明显是贪心,思路比较好理清楚,就是优先选大的产品,注意都是向上取整。

15425287 Accepted 164K 16MS 594B 2016-04-22 22:17:47
#include
#include
#include
int space2[4] = { 0,5,3,1 };//针对3剩余个数用2最多能填充几个int main(){ int a[15]; for (;;) { bool flag = true; for (int i = 1; i <= 6; i++) { scanf("%d", &a[i]); if (a[i] != 0) flag = false; } if (flag) break; int count = a[6] + a[5] + a[4] + (a[3]+3) / 4;//6,5,4都是直接加,3要向上取整 int used2 = a[4] * 5 + space2[a[3] % 4]; //2使用的个数,主要用来填充3和4 if (a[2] > used2) count += (a[2] - used2 + 8) / 9; //剩余的2作为新包裹 int used1 = count * 36 - a[6] * 36 - a[5] * 25 - a[4] * 16 - a[3] * 9 - a[2] * 4;//1无所谓,可以填充所有的包裹剩下的空间 if (a[1] > used1) count += (a[1] - used1 + 35) / 36;//如果1填充完所有的还有剩,就作为新包裹 printf("%d\n", count); } return 0;}

转载于:https://www.cnblogs.com/seasonal/p/10343759.html

你可能感兴趣的文章
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>
centos 7.4 使用 pgxc_ctl 安装与使用
查看>>
Redis 单key值过大 优化方式
查看>>
【数据库】表分区
查看>>
nutz-sqltpl 1.3.4.RELEASE 发布,在 Nutz 项目中“解决 Java 拼接 SQL”问题
查看>>
城市 | 800个地铁站数据透析的京沪白领图鉴:隐形土豪、无产中产阶级和猪猪女孩...
查看>>
前端脚本!网站图片素材中文转英文
查看>>
linux的常用易忘命令
查看>>
PHP 分割字符串
查看>>
java 基于QRCode、zxing 的二维码生成与解析
查看>>
关于职业规划的一些思考
查看>>
img垂直水平居中与div
查看>>
Fabrik – 在浏览器中协作构建,可视化,设计神经网络
查看>>
防恶意注册的思考
查看>>
http2-head compression
查看>>
C# 命名空间
查看>>
订餐系统之同步美团商家订单
查看>>
使用ArrayList时设置初始容量的重要性
查看>>
Java Web-----JSP与Servlet(一)
查看>>