放盒子
来源:互联网 发布:怎么举报淘宝售假 编辑:程序博客网 时间:2024/06/09 19:49
题目描述:
第七题
小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图。
小y 还有 3636 个礼物盒,他们的深度都为 1cm。
他们对应的宽度和高度如下,单位(cm)。
现在小y 想把这些盒子放到柜子上,由于礼物盒里面都装有礼物,礼物盒必须向上放置,并且不能堆放。由于礼物盒深度和柜子深度一样,所以礼物盒和柜子深度方向也必须一致。并且礼物盒的高度还不能大于柜子的高度,否者放不进去。小y 希望放到柜子上礼物盒的宽度和正好等于柜子的宽度,也就是希望柜子两边都不存在间隙。如下图符合条件的放置。
满足条件的情况下,小y 希望能尽可能多的放置礼物盒,算出最多能放多少个礼物盒。
思路:贪心
import java.util.Arrays;public class Main { static int[] a={11,8,11,16,1,2,6,10,17,10,6,5,2,19,4,7,5,5,15,3,15,11,9,17,9,4,10,12,17,19,20,11,10,20,3}; static int[] v={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; static int j=0; public static void fanghezi(int n) { int sum=0; int f=0; for(int i=0;i<35;i++) { if(v[i]==1) { f++; sum=sum+a[i]; } } if(sum==100) { System.out.println(f); throw new StopMsgException(); } for(int i=n;i<35;i++) { if(v[i]==0&&a[n]<=100-sum) { v[i]=1; fanghezi(i+1); v[i]=0; } } } static class StopMsgException extends RuntimeException { } public static void main(String[] args) { try { Arrays.sort(a); fanghezi(0); } catch (StopMsgException e) { System.out.println(e); } }}
0 0
- 放盒子
- 盒子放球问题
- [NOIP2017模拟]放盒子
- uva10943(球放盒子问题)
- N个小球放M个盒子
- 鼠标放上去盒子向上滑动
- NOIP模拟(10.19)T3 放盒子
- NOIP模拟 放盒子【费用流】
- 关于N个小球放M个盒子解答
- [NOIP模拟][匈牙利算法][费用流]放盒子
- 盒子
- 给你m个东西,放在n个相同的盒子中(相同,即不计顺序),每个盒子可以放任意多,问有多少种放法
- [ACM] POJ 1664 放苹果(n个相同小球放入m个相同盒子)
- CodeForces 342C--矩形盒子能最多放多少个球
- 【求精:关于N个小球放M个盒子解答 】
- 将n个相同小球放入m个不同盒子内的放法种数
- poj 1664 放苹果(f(m,n)可以分为两种情况:f(m-n,n),j就是每个盒子都放+f(m,n-1)至少有一个盒子不放苹果)
- 放
- Apache HTTP Server windows环境下载安装启动
- 148. Sort List\191. Number of 1 Bits\476. Number Complement\342. Power of Four
- dr.com下的360wifi经常掉线完美解决
- Oracle PL/SQL编程详解之七:程序包的创建与应用
- 高斯白噪声
- 放盒子
- python socket编程 tcp 简单示例
- 蓝桥杯 历届试题 国王的烦恼(并查集)
- 枚举类型应用实例
- 搭建 Apache Http Server 服务器
- 修改移动硬盘盘符(G盘-->E盘)
- 省选集训 一道很水(Keng) 的SPFA
- python(实操4):录音文件的读取、写入、绘制波形、录音、播放等
- long double atan2函数 Pi=acos(-1)