礼物盒

分值: 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;

}

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

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int kuan[36];
 4 void paixu(int b[]){
 5     for(int i=0;i<36-1;i++){
 6         for(int j=0;j<36-1-i;j++){
 7             if(b[j]>b[j+1]){
 8                 int t = b[j];
 9                 b[j] = b[j+1];
10                 b[j+1] = t;
11             }
12         }
13     }
14 }
15 void dfs(int begin,int sum,int ans){
16     if(sum==100){
17         printf("%d",ans);
18         exit(0);//结束程序
19     }
20     for(int i=begin; i<35; i++){
21         dfs(i+1,sum+kuan[i],ans+1);
22     }
23 }
24 int main(){
25     int a[36],gao[36];
26     int ans, n;
27     for(int i=0;i<36;i++){
28         scanf("%d%d",&kuan[i],&gao[i]);
29     }
30     paixu(kuan);
31     dfs(0,0,0);
32     return 0;
33 }
34 /*
35 11 3
36 8 12
37 11 17
38 16 13
39 1 14
40 2 8
41 6 10
42 10 18
43 17 11
44 10 15
45 6 14
46 5 6
47 2 19
48 19 10
49 4 9
50 7 9
51 5 14
52 5 20
53 15 19
54 3 17
55 15 11
56 7 25
57 11 20
58 9 12
59 17 4
60 9 19
61 4 18
62 10 10
63 12 19
64 17 3
65 19 9
66 20 16
67 11 16
68 10 2
69 20 15
70 3 14
71 */

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

 1 #include <stdio.h>
 2 #include<algorithm>
 3 using namespace std;
 4 #include<string.h>
 5 int widths[] = {11,8,11,16,1,2,6,10,17,10,6,5,2,19,4,
 6             7,5,5,15,3,15,11,9,17,9,4,10,12,17,19,20,11,10,20,3};
 7 int p[20];
 8 void dfs(int n,int sum,int step){
 9     if(sum==100){
10         int s = 0;
11         for(int i = 0;i<20;i++){
12             if(p[i]>0)s++;
13         }
14         printf("%d\n",s);
15         exit(0);
16     }else if(sum>100)return;
17
18     for(int i = n;i<35;i++){
19         p[step] = widths[n];
20         dfs(i+1,sum+widths[n],step+1);
21         p[step] = 0;
22     }
23 }
24 int main() {
25
26     sort(widths,widths+35);
27     dfs(0,0,0);
28     return 0;
29 }

C语言 · 礼物盒相关推荐

  1. bnu1258 神奇礼物盒 C语言版

    北京师范大学珠海分校 Judge Online of ACM ICPC 1258 神奇礼物盒 C语言版 #include <stdio.h> #include <string.h&g ...

  2. 易语言宝盒,易语言编程学习者必备工具

    1.收集很多网上流行经典的易语言教程和一些常用的工具,易语言模块,易语言支持库.一键下载,双通道资源,保证资源不会失效. 2.支持在线观看,减少下载资源而浪费易友的时间! 3.支持一键下载宝盒上所有已 ...

  3. 蓝桥杯模拟赛第五场 - G. 礼物盒

    题目:礼物盒 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如图. 小y 还有 36 个礼物盒,他们的深度都为 1cm.他们对应的宽度和高度如下,单位(cm). 11 3 ...

  4. 蓝桥杯训练-礼物盒问题-JAVA

    引用一下习题的原文链接:https://blog.csdn.net/obession/article/details/68951351 大致问题就是: 小y有一个宽度为 100cm,高度为 20cm, ...

  5. 运用python画虚拟礼物盒(来自远方的礼物)

    python代码实现 运用python画图(虚拟礼物盒,气球

  6. 计蒜客蓝桥杯模拟赛5 礼物盒

    题目描述: 第七题 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 3636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm) ...

  7. 2017年蓝桥杯模拟赛-7礼物盒

     小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 363636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). 1 1 ...

  8. 蓝桥杯模拟赛(五)礼物盒【dfs】

    小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 3636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). 11 3 8 1 ...

  9. TweenMax+SVG礼物盒购物动画

    下载地址 TweenMax+SVG礼物盒购物动画,可以当做引导动画或者购物加载中等效果. dd:

最新文章

  1. linux软件安装卸载命令行
  2. Java集合:Collection和Map
  3. 看看C# 6.0中那些语法糖都干了些什么(上篇)
  4. php 抽象类 静态方法吗,php中的抽象类和静态方法是什么
  5. django的form常用字段和参数
  6. Linux进程管理:进程和线程基础知识
  7. CodeBlocks常用快捷键
  8. ERP项目实施记录02
  9. HDU3788 ZOJ问题【文本处理】
  10. 深度学习中的样本采样
  11. Java:项目启动报错java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
  12. 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】
  13. 易语言获取硬盘特征字序列号加密特征字
  14. 服务器系统打不上网卡驱动,服务器网卡驱动程序不能正确加载
  15. 天堂2单机版如何架设mysql_天堂2单机版 L2J-som-rotm 安装全过程及常用工具 一步到位...
  16. 数据到物联网服务器作用,物联网数据分析是什么?物联网数据分析如何操作?...
  17. java 给pdf加水印
  18. 从一加到100等于多少c语言,从一加到99等于多少
  19. MobaXterm连接虚拟机Ubuntu
  20. 12c oracle 修改内存_Oracle 12C 内存数据库测试

热门文章

  1. 编程语言用Python实现九九乘法表的几种方式,入门必备案例!超级简单!
  2. NASA望远镜拍摄太阳表面高能X射线爆发瞬间
  3. 【女性保健:13大恶习最伤女人卵巢】
  4. php 正则表达式 环视,深入理解正则表达式高级教程
  5. 虚幻引擎(UE4)编辑器窗口快捷键整理
  6. windows之升级win10后输入密码却无法进入系统
  7. CIS-企业形象统一战略
  8. 详解 JavaScript 中的异步与线程
  9. CF464D World of Darkraft - 2(期望DP)
  10. fpdlink DS90UB947-DS90UB948 LVDS