礼物盒

分值: 20

小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图。

小y 还有 36 个礼物盒,他们的深度都为 1cm。

他们对应的宽度和高度如下,单位(cm)。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

11 3

8 12

11 17

16 13

1 14

2 8

6 10

10 18

17 11

10 15

6 14

5 6

2 19

19 10

4 9

7 9

5 14

5 20

15 19

3 17

15 11

7 25

11 20

9 12

17 4

9 19

4 18

10 10

12 19

17 3

19 9

20 16

11 16

10 2

20 15

3 14

1

2

3

4

5

6

7

8

#include <stdio.h>

int main() {

printf("%d\n",

// 在下方填入答案

);

return 0;

}

作者注释:本题可用贪心做,但不会使,递归整了如下。

 #include<stdio.h>
#include<stdlib.h>
int kuan[];
void paixu(int b[]){
for(int i=;i<-;i++){
for(int j=;j<--i;j++){
if(b[j]>b[j+]){
int t = b[j];
b[j] = b[j+];
b[j+] = t;
}
}
}
}
void dfs(int begin,int sum,int ans){
if(sum==){
printf("%d",ans);
exit();//结束程序
}
for(int i=begin; i<; i++){
dfs(i+,sum+kuan[i],ans+);
}
}
int main(){
int a[],gao[];
int ans, n;
for(int i=;i<;i++){
scanf("%d%d",&kuan[i],&gao[i]);
}
paixu(kuan);
dfs(,,);
return ;
}
/*
11 3
8 12
11 17
16 13
1 14
2 8
6 10
10 18
17 11
10 15
6 14
5 6
2 19
19 10
4 9
7 9
5 14
5 20
15 19
3 17
15 11
7 25
11 20
9 12
17 4
9 19
4 18
10 10
12 19
17 3
19 9
20 16
11 16
10 2
20 15
3 14
*/

转载的贪心代码,转载自:http://blog.csdn.net/a568283992/article/details/68948366

 #include <stdio.h>
#include<algorithm>
using namespace std;
#include<string.h>
int widths[] = {,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,};
int p[];
void dfs(int n,int sum,int step){
if(sum==){
int s = ;
for(int i = ;i<;i++){
if(p[i]>)s++;
}
printf("%d\n",s);
exit();
}else if(sum>)return; for(int i = n;i<;i++){
p[step] = widths[n];
dfs(i+,sum+widths[n],step+);
p[step] = ;
}
}
int main() { sort(widths,widths+);
dfs(,,);
return ;
}

C语言 · 礼物盒的更多相关文章

  1. 陕西师范大学第七届程序设计竞赛网络同步赛 F WWX的礼物【数学/k进制下x^n的位数/log】

    链接:https://www.nowcoder.com/acm/contest/121/F来源:牛客网 题目描述 WWX的女朋友送给了他一个礼物,可是礼物却被一把K进制密码锁锁住了.在礼物盒上还有一张 ...

  2. 第三章XML简介

    概念:XML:提供数据交换.系统配置.内容管理等的功能,可跨平台.跨网络.跨程序的数据描述方式.XSL:依靠XPath定位,提供显示模板,且专门为了显示XML文件信息的语言.CSS(层叠样式表):在网 ...

  3. UIImageView 自带动画+N张图片实现很炫的动画

    gitHub上又看到个很炫的动画:https://github.com/MartinRGB/GiftCard-iOS   看了看他的代码,发现核心动画(就是把按钮包装成一个礼物盒)其实很简单,就是把一 ...

  4. [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

    [python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...

  5. Codeforces Round #229 (Div. 2) C. Inna and Candy Boxes 树状数组s

    C. Inna and Candy Boxes   Inna loves sweets very much. She has n closed present boxes lines up in a ...

  6. PokeCats开发者日志(四)

      现在是PokeCats游戏开发的第八天的上午,感觉游戏做得差不多了,来写一下开发者日志吧!   (1)增加闯关模式,一共30关.   (2)更改了最后一关的主题,更换了背景,将树桩改为礼物盒.   ...

  7. SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=495 题意: 有n个礼物盒,m个人. 最开始每个礼物盒中都有一个礼物. m个人依次随 ...

  8. 新手前端笔记之--初识css

    css样式表是为了容纳与html文档分离出来的样式属性而产生的,所以她理所当然的包含两个部分:1.样式的表示,使用{属性1:属性值:属性2:属性值:...},2.样式与标签的对应(如何找的对应标签), ...

  9. Python 基于 TCP 传输协议的网络通信实现

    1.基础概念 什么是网络编程? 指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信 如果要保证数据通信顺利完成,则需要先了解如下几个概念: 1.1 协议 不同计算机内的进程之间进行数据 ...

随机推荐

  1. RFID的winform程序心得1

    /// 根据日期获取当周星期一 /// </summary> /// <param name="dt"></param> /// <ret ...

  2. C++程序设计方法1:分离代码

    使用头文件,分离声明与定义 防止重复包含: #ifndef FUNC_H #define FUNC_H .... #endif main函数的命令行参数: #include <iostream& ...

  3. springboot从入门到精通

    1:安装iDEa 2:安装jdk1.8 安装软件https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  4. MSP430F5529学习记录

    个人学习理解,难免有错,望各位大佬指出错误,不胜感激 有些引脚在单片机上没看到,在原理图上可以找得到,说明这些引脚没有引出来 单片机上的引出的引脚是可以外部操作的,有些不必要引出的就直接在单片机内部 ...

  5. Charles抓包(未完待续)

    Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析. Charles 通过将自己设置成系统的网络访问代理服务器,使得 ...

  6. oracle 分析函数 keep(dense_rank first/last)

    SQL : select * from crisis_sales where dept_id = 'D02' order by sale_date; DEPT_ID  SALE_DATE  GOODS ...

  7. cout.setf()

    cout用来实现格式输出,类似于C语言中通过printf(). cout.setf()的作用是通过设置格式标志来控制输出形式,如,其中ios_base::fixed表示:用正常的记数方法显示浮点数(与 ...

  8. python算法练习

    6. 约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到k的那个人被杀掉:他的下一个人又从1开始报数,数到k的那个人又被杀掉:依此规律重复下去 ...

  9. git忽略已加入到版本库的文件

    项目中,我们会用到 '.gitignore' 来忽略一些文件,不记录这些文件的版本控制. 然而,经常发现,已经添加到了 '.gitignore' 的文件/目录,每次的修改等扔会记录版本. 产生这种原因 ...

  10. 保存一个经常用的Makefile

    ############################################################# # Generic Makefile for C/C++ Program # ...