C语言 · 礼物盒
礼物盒
分值: 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语言 · 礼物盒相关推荐
- bnu1258 神奇礼物盒 C语言版
北京师范大学珠海分校 Judge Online of ACM ICPC 1258 神奇礼物盒 C语言版 #include <stdio.h> #include <string.h&g ...
- 易语言宝盒,易语言编程学习者必备工具
1.收集很多网上流行经典的易语言教程和一些常用的工具,易语言模块,易语言支持库.一键下载,双通道资源,保证资源不会失效. 2.支持在线观看,减少下载资源而浪费易友的时间! 3.支持一键下载宝盒上所有已 ...
- 蓝桥杯模拟赛第五场 - G. 礼物盒
题目:礼物盒 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如图. 小y 还有 36 个礼物盒,他们的深度都为 1cm.他们对应的宽度和高度如下,单位(cm). 11 3 ...
- 蓝桥杯训练-礼物盒问题-JAVA
引用一下习题的原文链接:https://blog.csdn.net/obession/article/details/68951351 大致问题就是: 小y有一个宽度为 100cm,高度为 20cm, ...
- 运用python画虚拟礼物盒(来自远方的礼物)
python代码实现 运用python画图(虚拟礼物盒,气球
- 计蒜客蓝桥杯模拟赛5 礼物盒
题目描述: 第七题 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 3636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm) ...
- 2017年蓝桥杯模拟赛-7礼物盒
小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 363636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). 1 1 ...
- 蓝桥杯模拟赛(五)礼物盒【dfs】
小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 3636 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). 11 3 8 1 ...
- TweenMax+SVG礼物盒购物动画
下载地址 TweenMax+SVG礼物盒购物动画,可以当做引导动画或者购物加载中等效果. dd:
最新文章
- linux软件安装卸载命令行
- Java集合:Collection和Map
- 看看C# 6.0中那些语法糖都干了些什么(上篇)
- php 抽象类 静态方法吗,php中的抽象类和静态方法是什么
- django的form常用字段和参数
- Linux进程管理:进程和线程基础知识
- CodeBlocks常用快捷键
- ERP项目实施记录02
- HDU3788 ZOJ问题【文本处理】
- 深度学习中的样本采样
- Java:项目启动报错java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
- 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】
- 易语言获取硬盘特征字序列号加密特征字
- 服务器系统打不上网卡驱动,服务器网卡驱动程序不能正确加载
- 天堂2单机版如何架设mysql_天堂2单机版 L2J-som-rotm 安装全过程及常用工具 一步到位...
- 数据到物联网服务器作用,物联网数据分析是什么?物联网数据分析如何操作?...
- java 给pdf加水印
- 从一加到100等于多少c语言,从一加到99等于多少
- MobaXterm连接虚拟机Ubuntu
- 12c oracle 修改内存_Oracle 12C 内存数据库测试