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; } |
作者注释:本题可用贪心做,但不会使,递归整了如下。
#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语言 · 礼物盒的更多相关文章
- 陕西师范大学第七届程序设计竞赛网络同步赛 F WWX的礼物【数学/k进制下x^n的位数/log】
链接:https://www.nowcoder.com/acm/contest/121/F来源:牛客网 题目描述 WWX的女朋友送给了他一个礼物,可是礼物却被一把K进制密码锁锁住了.在礼物盒上还有一张 ...
- 第三章XML简介
概念:XML:提供数据交换.系统配置.内容管理等的功能,可跨平台.跨网络.跨程序的数据描述方式.XSL:依靠XPath定位,提供显示模板,且专门为了显示XML文件信息的语言.CSS(层叠样式表):在网 ...
- UIImageView 自带动画+N张图片实现很炫的动画
gitHub上又看到个很炫的动画:https://github.com/MartinRGB/GiftCard-iOS 看了看他的代码,发现核心动画(就是把按钮包装成一个礼物盒)其实很简单,就是把一 ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- 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 ...
- PokeCats开发者日志(四)
现在是PokeCats游戏开发的第八天的上午,感觉游戏做得差不多了,来写一下开发者日志吧! (1)增加闯关模式,一共30关. (2)更改了最后一关的主题,更换了背景,将树桩改为礼物盒. ...
- SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=495 题意: 有n个礼物盒,m个人. 最开始每个礼物盒中都有一个礼物. m个人依次随 ...
- 新手前端笔记之--初识css
css样式表是为了容纳与html文档分离出来的样式属性而产生的,所以她理所当然的包含两个部分:1.样式的表示,使用{属性1:属性值:属性2:属性值:...},2.样式与标签的对应(如何找的对应标签), ...
- Python 基于 TCP 传输协议的网络通信实现
1.基础概念 什么是网络编程? 指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信 如果要保证数据通信顺利完成,则需要先了解如下几个概念: 1.1 协议 不同计算机内的进程之间进行数据 ...
随机推荐
- Python virtualenvwrapper在Win下的安装和管理
安装: 在Win下安装wrapper的时候,需要安装一个特殊的版本,即virtualenvwrapper-win.如果安装的只是virtualenvwrapper,则会出现mkvirtualenv,l ...
- BZOJ.4446.[SCOI2015]小凸玩密室(树形DP)
BZOJ LOJ 洛谷 (下面点亮一个灯泡就说成染色了,感觉染色比较顺口... 注意完全二叉树\(\neq\)满二叉树,点亮第一个灯泡\(\neq\)第一次点亮一号灯泡,根节点应该就是\(1\)... ...
- 185. [USACO Oct08] 挖水井
185. [USACO Oct08] 挖水井(点击转到COGS) 输入文件:water.in 输出文件:water.out 时间限制:1 s 内存限制:128 MB 描述 农夫约翰决定给他 ...
- 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)
在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...
- C语言基础一(敲打键盘、寻找资料)
事前声明一点:小编的所有材料都是基础,没有什么大的不同,您若觉得不错的话,可以互相探讨下,毕竟本人也是小雏鸟. 大家在学习C语言.C++类似的高端语言时候,往往都是为了学而学,殊不知为什么而学,或许更 ...
- invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific
今天写vfl自动给布局之时,出现了 invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific- break on _C ...
- 转:2016年崛起的js项目
近几年 JS 社区创新和演化的速度是有目共睹的,几个月前比较时髦的技术很可能现在已经过时了. 2016 已经过去,你有没有担心错过了什么重要的内容?在这篇调查报告中我们会为你解读社区的主流趋势. 我们 ...
- CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机)
说明:创建KVM模板有个好处,不用每次都运行命令创建,并且可以为迁移做准备. 一.创建KVM模板 1.下载iso(省略) 2.创建磁盘 qemu-img create -f raw centos7.r ...
- RESTEASY ,从学会使用到了解原理。
转载本文需注明出处:EAII企业架构创新研究院,违者必究.如需加入微信群参与微课堂.架构设计与讨论直播请直接回复公众号:“EAII企业架构创新研究院”.(微信号:eaworld) 1,背景知识; 1. ...
- Linux软件开发常用的软件包(持续更新中)
下面是Linux开发常用的软件包: 软件包的名称 作用描述 安装方式 build-essential sudo apt-get install build-essential policycore ...