7-2 装箱问题 (20分)_32进制的博客-程序员宝宝

技术标签: 陆军工程大学数据结构MOOC习题集(2020秋)  

7-2 装箱问题 (20分)

假设有N项物品,大小分别为s​1​​、s​2​​、…、s​i​​、…、s​N​​,其中s​i​​为满足1≤s​i​​≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。

输入格式:

输入第一行给出物品个数N(≤1000);第二行给出N个正整数s​i​​(1≤s​i​​≤100,表示第i项物品的大小)。

输出格式:

按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。

输入样例:

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 "stdio.h"
#include "math.h"
#define N 1000
int main(){

//    7-2 装箱问题 (20分)
//    假设有N项物品,大小分别为s
//    ​1
//    ​​ 、s
//    ​2
//    ​​ 、…、s
//    ​i
//    ​​ 、…、s
//    ​N
//    ​​ ,其中s
//    ​i
//    ​​ 为满足1≤s
//    ​i
//    ​​ ≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。
//
//    输入格式:
//
//    输入第一行给出物品个数N(≤1000);第二行给出N个正整数s
//    ​i
//    ​​ (1≤s
//    ​i
//    ​​ ≤100,表示第i项物品的大小)。
//
//    输出格式:
//
//    按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。
//
//    输入样例:
//
//    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
    int a[N];
    int b[N];
    int n,i,j,x;
    int count=0;
    
    for(int i=0;i<N;i++)
    {
        a[i]=100;
    }
    
    scanf("%d",&n);
    
    for(i=0;i<n;i++){
        scanf("%d",&b[i]);
    }
    
    for (i=0; i<n; i++ ) {
        for (j=0; j<N; j++) {
            if (a[j]>=b[i]) {
                a[j]=a[j]-b[i];
                printf("%d %d\n",b[i],j+1);
                if(j+1>count){
                    count=j+1;
                }
                break;
            }
        }
    }
    
    printf("%d\n",count);
    
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_47210241/article/details/108312870

智能推荐

腾讯云 TDSQL 在 PostgreSQL 领域的‘‘再次突破’’_腾讯云数据库的博客-程序员宝宝

日前,第 11 届 PostgreSQL 中国技术大会圆满落幕,大会上腾讯云多位顶级技术达人携手亮相,分别对腾讯云 PostgreSQL 系列产品技术亮点和创新实践案例进行了深入解读,针对 TDSQL-C PostreSQL 高可用特性、TDSQL-A 发展历程、技术架构等做出了详细介绍。会上腾讯云数据库开源产品 TDSQL PostgreSQL 版(开源代号 Tbase)再次公布升级:分区表能力增强,分区剪枝性能提升 30%,分布区表关联查询性能(Join)提升超十倍。此外,异地多活易用性增强、分布式死

Ubuntu系统中KVM/QEMU/Libvirt虚拟机设置静态IP_libvirt指定虚拟机的ip地址[email protected]的博客-程序员宝宝

Ubuntu系统中KVM/QEMU/Libvirt虚拟机设置静态IP1.输入:cd /etc/network2.查看当前目录:(interfaces)输入:ls3.编辑interfaces输入:sudo nano interfaces4.添加下列语句:auto enp1s0iface enp1s0 inet staticaddress 192.168.122.204 #想要设置的ipnetmask 255.255.255.0gateway 192.168.122.15.重启网络

图像处理基本概念——卷积,滤波,平滑_图像卷积数学表达形式_John9ML的博客-程序员宝宝

 1.图像卷积(模板)(1).使用模板处理图像相关概念:          模板:矩阵方块,其数学含义是一种卷积运算。           卷积运算:可看作是加权求和的过程,使用到的图像区域中的每个像素分别于卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值。     卷积核:卷积时使用到的权用一个矩阵表示,该矩阵是一个权矩阵。     卷积示例:    ...

MySQLInnoDB引擎事物隔离级别RC和RR_weixin_34119545的博客-程序员宝宝

2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...

算法设计技巧与分析(九):网络流(Network Flow)_ArthurWong7的博客-程序员宝宝

文章目录网络流(Network Flow)网络流的性质割(cut)与流(flow)余量函数(Residual Capacity Function)与余量图(Residual Graph)增广路径(Augmenting Path)一、The Ford-Fulkerson Method二、EK算法(Minimum path length augmentation)最小增广路径长度(MPLA)网络流(Network Flow)网络是一个四元组(G,s,t,c),其中G=(V,E)是一个有向图,s和t是两个分

音乐计算机曲谱狂妄之人,undertale狂妄之人简谱_weixin_39621860的博客-程序员宝宝

undertale狂妄之人简谱是一款玩法类似别踩白块的音乐节奏游戏。游戏中收录了大量传说之下里的战斗曲,玩家可以自由选择自己喜爱的曲目进行游玩。跟随音乐的节奏快速点击,点错或者漏掉都会导致游戏结束,感兴趣就来下载游玩吧游戏介绍undertale狂妄之人简谱是一款音乐主题的休闲益智类小游戏。游戏中持续更新各种乐器演奏的热门流行音乐。在游戏中你既可以自己演奏各种乐器,也可以欣赏各种美妙的音乐,何乐而不...

随便推点

【算法】动态规划——空间优化(逆序 or 顺序)_liuwp5的博客-程序员宝宝

动态规划动态规划算法的策略简单来说就是空间换时间。一般我们需要开辟o(n^2)空间复杂度的辅助数组,用于存储每一个子问题的最优解。看过一些DP算法例子的同学来说,多数DP问题经常可以进行空间优化,把O(n^2) -&gt; O(n)。问题那么问题来了,空间优化有几种情况:1、优化到O(n * 2)2、优化到O(n),顺序遍历3、优化到O(n),逆序遍历什么情况下用哪一种优化呢?方案以下方案是我个人的思考,可能有错误或缺漏,还请各位指出。一、优化到O(n * 2)此方案把本

SHA MD5用法_sha512 windows 校验_从零开始的JAVA世界的博客-程序员宝宝

下载软件时经常能看到,旁边有 SHA,MD5的校验码。他们是干什么用的?怎么使用呢?SHA MD5的作用:通过比较哈希值判断文件是否有改动使用方法:1. 用Windows自带的certitiul测试工具进行校验。第一步 找到软件位置,得到软件路径和软件名称(包含文件扩展名)我这里是这个: D:\Download\a\apache-maven-3.8.3-src.zip(路径+文件名)第二步 打开命令行,输入命令windows+R 快捷键 打开运行窗口,输入cmd 回车进入命令.

RichFaces 大概_weixin_30416497的博客-程序员宝宝

.RichFaces组件包RichFaces 4.x包含的4个jar包如表1-2所示。表1-2 RichFaces 4.x包含的4个jar包包 名描 述 richfaces-core-api-&lt;版本名称&gt;.jarRichFaces的核心包 richfaces-core-impl-&lt;版本名...

mysql内存优化_mysqld内存调优_逗比吃橙子的博客-程序员宝宝

1、mysqld --verbose --help这个命令生成所有mysqld选项和可配置变量的列表2、 通过连接它并执行这个命令,可以看到实际上使用的变量的值:mysql> SHOW VARIABLES;还可以通过下面的语句看到运行服务器的统计和状态指标:mysql>SHOW STATUS;使用mysqladmin还可以获得系统变量和状态信息:shel

网络流算法_海边月的博客-程序员宝宝

网络流算法很多实际问题可以建模为流网络• 装配线上物件的流动• 电网中电流的流动• 通信网络中信息的流动• 道路交通网络中的运输活动• ……• 一个源节点s、一个汇点t,由源节点流向汇点• 流量守恒• 流网络是一个无自环的有向图G=(V, E),(1) 图中的每条边(u, v)E有一个非负的容量值c(u, v)0。if (u, v)E c(u, v)=0;(2) ...

使用客户端工具XShell访问Linux的MySQL_sg_0504的博客-程序员宝宝

查看mysql下的user表增加一个用户:grant all on  *.*  [email protected]'%' identified by  'gshen';all:权限操作,包括select,insert,update,deletegshen:创建的用户名%:匹配的所有主机gshen:密码这样就增加了一个gshen的用户,可以来自任何的客户端连接。使用Navicat就可以

推荐文章

热门文章

相关标签