知码开门 装箱问题

【探索型】6.16装箱问题

成绩 100 开启时间 2014年04月1日 星期二 08:00
折扣 0.8 折扣时间 2014年04月28日 星期一 23:00
同意迟交 关闭时间 2014年04月28日 星期一 23:00

如果有n项物品,大小分别为s1。s2,...,sn。当中si是整数且满足:1<=si<=100。要把这些物品装入到容量为100的一批箱子(序号1~n)中。装箱方法是:对每项物品si,依次扫描全部这些箱子,把si放入足以可以容下它的第一个箱子中(first-fit策略)。写一个程序来模拟这个装箱的过程。

输入:

有两行。第一行是整数n(n<=1000),表示物品的个数;第二行是n个整数si(si<=100)。分别表示n个物品的大小

输出:

每一个物品所在的箱子序号。并输出所需的箱子数目

输入例子:

8

60 70 80 90 30 40 10 20

输出例子:

60 1

70 2

80 3

90 4

30 1

40 5

10 1

20 2

所需的箱子数目为5

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,a[1005],b[1005],l,m;
void qq(int k)
{
    if(k<n)
    {
        if(b[m]>=a[k])
            {
                b[m]=b[m]-a[k];
                cout<<a[k]<<" "<<m<<endl;
                if(l<m)
                    l=m;
                //cout<<l<<endl;
                m=1;
                qq(k+1);

            }
        else
            {m++;qq(k);}
    }
}
int main()
{
    int i;
    while(cin>>n)
    {
        for(i=0;i<=1005;i++)
            b[i]=100;
        l=0;
        m=1;
        for(i=0;i<n;i++)
            cin>>a[i];

        qq(0);
    printf("所需的箱子数目为%d\n",l);
    }
    return 0;
}
时间: 2024-10-08 10:44:27

知码开门 装箱问题的相关文章

退役总结

退役总结 不知不觉打ACM已经一年多了,要真算起接触ACM实际上是大一的时候,不过那个时候连C语言都没学完,数组什么的都不懂,寒假都在刷知码开门,然后oj上的账号就没了.以致大二的时候,在加ACM的时候,唐老板还记得我,还小窗问过我怎么想的,(当时好慌啊,生怕被劝退). 我在ACM上对自己的定位就是中庸的实力,毕竟一个非计算机专业的学生要想再强一些,花费的功夫和本专业的认可度都不是很可观.但感觉实际可能是酸菜鱼的水平(又酸又菜又多余). 成为ACMer,也不知不觉的换了四任队友了,第一次是和韩宗

简单使用git和github来管理代码----配置与使用

在以前没听说过github之前,自己写的代码很容易丢或者遗失,等到用时才知码到用时方恨丢,现在用了github,真的是替自己生省不少的事,闲话不多说,上教程. 1 在github上注册账号 https://github.com,我的绑定邮箱:[email protected],用户名nelson-hu,登陆成功创建个人仓库 2 下载安装git 3 下载安装完成后,按window键输入git--选中git bash,进入git命令界面 4 首先配置本地与远程git端的密钥 01 输入ssh-key

兼容,原来在这里就已经开始--------Day34

看了两天,算是将w3cschool的javascript部分浏览了一遍,在脑海中大约有了一点概念,也才真切体会到:一入江湖深似海,欲穷此路难上难啊,至少现在看起来是遥遥无期,太多不懂, 太多茫然,不过这样也好,已经是无法再差了啊,任何方向去走都是上坡,既然如此,那就走吧... 题外话:(个人学习记录) javascript..的ECMAscript+DOM+BOM,用一句话来概括下吧:秉其法,控其形,与其交. 可能需要研究的一些课题:闭包/js操作cookie/浏览器差异/兼容实现/渲染等等,慢

HTML5 canvas 实现同步时钟

都说HTML5和CSS3将会是前端工作者要学习和掌握的必要技术.不错,随着各大主流浏览器之间的"互坑"性兼容问题原来越少.作为前端开发人员,趁早提前熟悉掌握此两种必要知识是很有必要的!嘎嘎. 在此,小码哥讲给大家分享一下用HTML5中的canvas画布制作的同步时钟.(透露一下,此种代码并非小码哥亲自编写,知识俺将每一步解析了一下,,供大家参考哈,,惭愧,俺也在进步学习中呢!!)因此,说是原创,只是因为是偶加工了一下,发到博客上了,,别BS偶哦,,,, canvas据说在HTML5中是

龙跃QQ等级查询软件

龙跃QQ等级查询软件 软件可多线程快速查询QQ的等级,年龄,导出分类数据,无需拔号,验证码少,查询速度每小时超30万以上. 一.软件功能 (1)可查询QQ等级,分类导出: (2)可查询QQ年龄,分类导出: (3)可多线程运行,软件效率非常高,每小时30万以上: (4)不需要换IP,软件上可不设置宽带账号: (5)可试用3小时,满意后购买: (6)验证码数量非常少,可使用远程打码,已接入超人,UU,知码平台: 二.运行环境 (1)windows XP或windows 7操作系统环境: (2)电脑须

龙跃兴趣部落营销软件

兴趣部落营销软件,一款除了微信外,移动端人气最旺的营销平台营销软件,只要导入12级以上的QQ号,就可以不停发贴顶贴! 一.软件功能 (1)可在QQ兴趣部落中发贴: (2)可在兴趣部落中对自己发的贴顶贴: (3)可自动循环实现将贴子始终保持兴趣版块的最前面,引来无数流量: (4)可试用1小时,满意后购买: (5)可实现自动拔号换IP: (6)可使用远程打码,已接入超人,UU,知码平台,本软件优点是验证码较少,成本低: 二.运行环境 (1)windows XP或windows 7操作系统环境: (2

智慧酒店系统开发智慧酒店系统模式详解

智慧酒店系统开发(李想.185.6504.8478)智慧酒店系统是什么?智慧酒店系统有什么用?我为什么要购买智慧酒店系统?智慧酒店系统又能解决什么问题?如果你对这些感兴趣,那么你一定要对智慧酒店系统有一定的了解!从感觉到记忆到思维这一过程,称为"智慧",智慧的结果就产生了行为和语言,将行为和语言的表达过程称为"能力",两者合称"智能",将感觉.记忆.回忆.思维.语言.行为的整个过程称为智能过程,它是智力和能力的表现.它们分别又可以用"智

io.js入门(三)—— 所支持的ES6(下)

(接上篇) 标准ES6特性 6. 新的String方法/New String methods 7. 符号/Symbols 8. 字符串模板/Template strings 新的String方法/New String methods codePointAt() 和  String.fromCodePoint()JS内部是以UTF-16的形式(每个字符长度都固定为16位元.2个字节)来存储字符编码的.就汉字来说,大部分的汉字均以2字节的形式来存储即可,却也有部分汉字需要有4个字节的长度来存储(其c

共享储物柜的出现提升物流行业投递效率

继滴滴之后,出现了一大批共享服务平台,共享单车.共享汽车.共享充电宝.共享经济,从理论上来说,是用户的使用权代替所有权,让物品本身的利用效益发挥最大,使用成本降低.快递柜应趋势而生,作为用户取件.快递员投件的智能终端设备,节省取件人的时间,更成倍提升物流行业投递效率. 共享储物柜,通过微信/app查寻最近储物柜,实行快速对物品的存取.它能有效地减轻了游玩.逛街时双肩双手的负担,而且通过客户端操作存取物品,完全剔除了之前传统寄存柜触摸显示器.IC卡维护等大量硬件支持人员和维护人员的成本,但最重要的