摆箱子

2024-02-27 01:08
文章标签 箱子

本文主要是介绍摆箱子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

有一堆形状完全一样的箱子,但是他们的强度不同,如果一个箱子的强度为x,那么这个箱子上面最多可以放x个箱子。

现在我们已知一堆箱子的强度,我们想把这些箱子放置成一列一列的形状,每一列包含多个箱子,问最少可以放置多少列。


Input

输入为多组数据,第一行为样例数T。

每组数据先输入一个n(1 <= n <= 100),表示箱子的总数。

紧接着输入n个数x1,x2,x3,,,xn(0 <= xi <= 100),第i个数表示第i个箱子的强度。


Output

输出只包含一个整数,表示最少的数列。


Sample Input

2

3

0 0 10

5

0 1 2 3 4


Sample Output

2

1



原来正解是从小到大使用贪心。


#include<bits/stdc++.h>
using namespace std;int a[100+10], b[100+10];
int main()
{int T, n;scanf("%d", &T);while(T--){scanf("%d", &n);memset(a, -1, sizeof(a));memset(b, 0, sizeof(b));for (int i = 0; i < n; i++)scanf("%d", &a[i]);sort(a, a+n);int t = n, ans = 0;;while(t > 0){int flag = 0, num = 0;for(int i = 0; i < n; i++){if(b[i] == 0 && flag == 0){flag = 1;b[i] = 1;num++;t--;}if(b[i] == 0 && flag == 1){if(a[i] >= num){num++;b[i] = 1;t--;}}}ans++;}printf("%d\n",ans);}return 0;
}


这篇关于摆箱子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750733

相关文章

Pandas-高级处理(八):数据离散化【pandas.cut:根据指定分界点对连续数据进行分箱处理】【pandas.qcut:指定箱子的数量对连续数据进行等宽分箱处理】【get_dummies】

Python实现连续数据的离散化处理主要基于两个函数:pandas.cut和pandas.qcut,pandas.cut根据指定分界点对连续数据进行分箱处理,pandas.qcut可以指定箱子的数量对连续数据进行等宽分箱处理(注意:所谓等宽指的是每个箱子中的数据量是相同的) 应用cut、qcut实现数据的区间分组应用get_dummies实现数据的one-hot编码 数据离散化 可以用来减少

使用 C# 开发智能手机软件:推箱子(十一)

这是“ 使用 C# 开发智能手机软件:推箱子 ”系列文章的第十一篇。在这篇文章中,介绍 Common/Env.cs 源程序文件。这个源程序文件中包含表示“工作环境”的密封类 Env 。也就是说,主程序中重要的变量都封装在这个类中,作为整个程序的“工作环境”。她还起着桥梁作用,其中两个字段: DataFile db;       // 数据文件     ConfigFile cfg;

使用 C# 开发智能手机软件:推箱子(十六)

这是“ 使用 C# 开发智能手机软件:推箱子 ” 系列文章的第十六篇。在这篇文章中,介绍 Window/ConfigDlg.cs 源程序文件。这个源程序文件包含 ConfigDlg 类,该类继承自 System.Windows.Forms.Form 类,表示推箱子的“配置”对话框。如下图所示:     下面是 Window/ConfigDlg.Designer.cs 的源

使用 C# 开发智能手机软件:推箱子(六)

这是“ 使用 C# 开发智能手机软件:推箱子 ”系列文章的第六篇。在这篇文章中,介绍 Common/Pub.cs 源程序文件。   1  using  System;   2  using  System.Drawing;   3  using  System.Text;   4  using  System.IO;   5  using  System.Reflecti

算法复习--------------箱子排序

例子: 在一个链表中,每个节点包含一个名字和分数,然后需要按照分数来进行排序然后进行输出,这里就可以用到箱子排序 首先得到最大数和最小数之间的数目个数: maxNum-MinNum 然后创建一个数组(链表)指针来分别保存这几个数的内容 比如: 分数为0的有: 张三,李四,王五 分数为1的有:贺6 分数为2的有:李七 就用3个链表(数组)指针来保存他们的信息 然后在分别对分数0,

推箱子-小游戏

学习目标:         巩固Java基础,数据类型、二维数组、条件语句等; 效果展示:

C++数组实现推箱子游戏

前言 我是三天打鱼两天晒网的闲人,今天跟着课程视频学习c++的数组的运用. 准备好游戏用到的图片资源 代码逻辑实现 #include<iostream>#include<graphics.h>#include<string>#include<conio.h>using namespace std;//设置画布大小#define SCREEN_WIDTH 960#define SC

易语言推箱子游戏(附带源码)

易语言推箱子游戏 易语言易语言的安装易语言功能特色易语言安装步骤易语言常见问题 导入游戏源码部分源码领取源码下期更新预报 易语言 易语言(EPL)是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言,也通常代指与之对应的集成开发环境。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中

hdu1254推箱子 (BFS+BFS+状态压缩)

推箱子 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5089 Accepted Submission(s): 1421 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M

开箱子咸鱼之王H5游戏源码_内购修复优化_附带APK完美运营无bug最终版__GM总运营后台_附带安卓版本

内容目录 一、详细介绍二、效果展示2.效果图展示 三、学习资料下载 一、详细介绍 1.包括原生打包APK,资源全部APK本地化,基本上不跑服务器宽带 2.优化后端,基本上不再一直跑内存,不炸服响应快! 3.优化前端,修复底部按键错位问题,优化部分UI和图像 4.更新登陆注册,之前登陆注册是临时加上的,目前在源码身上原生写了一个简易登陆页面. 此版本为最终完美端,之前修复的一些