7-2 装箱问题 (20分)

2023-11-10

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);
    
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

7-2 装箱问题 (20分) 的相关文章

  • Github 榜首!B 站疯传!程序员思维导图 48 张!!!

    介绍在下面 整个内容包括 程序员史上最强编程思维导图 48 张 800 份求职简历模板 我写的 图解算法小册 解析 150 道高频算法面试题目 25k star Github 榜首项目 资料获取地址 无套路 直接可以下载 Github 榜首
  • Jmeter快速上手之接口测试

    目录 1 前言 2 简介 3 安装 4 环境变量 4 1 Windows环境 4 2 Mac环境 5 启动程序 6 目录说明 7 操作示例 7 1 Get请求 7 2 Post请求 7 3 依赖请求 1 前言 压测工具 Jmeter 除了可
  • 什么是接口?

    1 什么是接口 接口是一种特殊的内部类 它里面的所有方法都没有实现 2 接口的特点 1 接口中成员默认访问修饰符都是public 即便你不写 2 定义接口必须interface关键字完成 3 接口中可以定义变量 但是变量必须有固定的修饰符修
  • JUC并发编程--------线程安全篇

    目录 什么是线程安全性问题 如何实现线程安全 1 线程封闭 2 无状态的类 3 让类不可变 4 加锁和CAS 并发环境下的线程安全问题有哪些 1 死锁 2 活锁 3 线程饥饿 什么是线程安全性问题 我们可以这么理解 我们所写的代码在并发情况
  • java自引用/类的递归调用问题

    Java的自引用问题 什么是自引用 递归调用 代码示例和分析 自引用情况 类比C 什么是自引用 递归调用 在编写代码的过程中 我们经常看到类中出现该类的声明 示例 class A int data A a 这种情况就被称为自引用 代码示例和
  • Android架构项目代码结构规范--组件化代码

    前言 组件化和插件化有什么区别 虽说网上有很多文章但是讲清的聊聊无几 这也是这篇文章的由来 大方向 组件化是一个项目主管设计管理项目架构方案 而插件化有商务上的合作和局部功能热更换修复等 小方向 如果是公司app合作 组件化也就是插件化作为
  • CLion Bug集合1:windows下导入openssl库方法以及踩过的坑

    系统 win10 64位 工具链 MinGW IDE CLion openssl库下载 下载方法 主要有两种方式 本文主要讲解方式1 方式1 下载地址 2022 6 1补充 该方法的动态库是MinGW64位用的 32位见方法2 方式2 编译
  • linux常用命令案例总结wc,top,free,df -h,head,sed,awk,netstat -antp,ps -aux, ethtool eth0

    1 wc的使用 统计一个目录下的文件个数 root localhost etc cd var log root localhost log ll grep wc l 53 root localhost log 拓展 关于命令wc的使用 wc
  • 使用冻结层进行迁移学习

    使用冻结层进行迁移学习 在yolov5的训练过程中 作者介绍了如何使用冻结层实现迁移学习的策略 具体可以参考官方话题 Transfer Learning with Frozen Layers Issue 1314 ultralytics y
  • JS中的Date数据类型

    JS的Date数据类型 在JavaScript中 Date数据类型用于处理日期和时间 它可以表示自1970年1月1日00 00 00 UTC 协调世界时 以来的毫秒数 Date对象在许多应用程序中都非常有用 例如在Web应用程序中显示当前时
  • Python实现HBA混合蝙蝠智能算法优化循环神经网络回归模型(LSTM回归算法)项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 视频讲解 如需数据 代码 文档 视频讲解可以直接到文章最后获取 1 项目背景 蝙蝠算法是2010年杨教授基于群体智能提出的启发式搜索算法 是一种搜索全局最优解的有效方法 该算法基于迭代优
  • eMMC简介

    eMMC是embedded MultiMediaCard的简称 MultiMediaCard 即MMC 是一种闪存卡 Flash Memory Card 标准 它定义了MMC的架构以及访问Flash Memory的接口和协议 而eMMC则是
  • 全屏dialog

    下面是iOS里面做全屏Dialog的代码 调用show时Dialog会覆盖当前的controller 全屏显示 可以用来做蒙板效果 欢迎转载 转载请注明出处 http blog csdn net tadican article detail
  • Python中的装饰器是什么?装饰器是如何工作的?

    Python很早就引入了装饰器 在PEP 318中 作为一种简化函数和方法定义方式的机制 这些函数和方法在初始定义之后必须进行修改 这样做的最初动机之一是 使用classmethod和staticmethod等函数来转换方法的原始定义 但是
  • hibernate映射继承关系(一):一张表对应一整棵类继承树

    翻译 hibernate映射继承关系 一 一张表对应一整棵类继承树 2人收藏此文章 我要收藏发表于1年前 2012 05 22 16 34 已有 482次阅读 共 0个评论 英文原址 网上这个主题的文章不在少数 这个系列的文章的部分价值在于
  • 【100%通过率 】【华为OD机试 c++】最多等和不相交连续子序列【 2023 Q1

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 最多等和不相交连续子序列 给定一个数组 我们称其中连续的元素为连续子序列 称这些元素的和为连续子序列的和 数组中可能存在几组连续子序列 组内的连
  • NexT主题进阶

    NexT 是 Hexo 框架中最为流行的主题之一 精于心 简于形 NexT 支持多种常见第三方服务 使用 第三方服务 来扩展站点的功能 除了 Markdown 支持的语法之外 NexT 借助 Hexo 提供的 tag 插件 为您提供在书写文

随机推荐

  • EDK2安装教程

    1 1基础搭建 相关文件请自行百度下载 1 安装VS2015到C盘 请勿修改默认目录 否则需要修改C edk2 Conf tools def txt 2 如安装包所示 安装python2 7到C盘并设置环境变量如下 3 将nasm解压到C
  • JavaScript-二分法详解

    文章目录 二分法 二分查找 非递归实现 二分查找 递归实现 二分排序 复杂度分析 推荐文章 经典例题 力扣习题 二分法 二分法又可以被称为二分查找 它描述了在有序集合中搜索特定值的过程 广义的二分查找是将问题的规模尽可能的缩小到原有的一半
  • win10,创建新环境并安装pytorch-gpu=1.7.0版本

    之前装过gpu版本tensorflow 包含cudatoolkit 10 1 创建新环境装gpu版本pytorch时考虑是否再装cudatoolkit 以下是没有再装cudatoolkit情况下 目前正常 文章目录 Anaconda 创建新
  • 图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)

    前面的文章 我们讲解了图神经网络三剑客GCN GraphSAGE GAT中的两个 图卷积神经网络 GCN 理解与tensorflow2 0代码实现 GraphSAGE 模型解读与tensorflow2 0代码实现 本要讲的是GAT Grap
  • 解决Intellij IDEA maven 自动设置JDK为JDK1.5

    在idea中创建maven项目 每次更新或重新载入maven项目后 都会重新变成JDK1 5 就算手动设置maven项目或者模块JDK1 8 刷新后还是会变为JDK1 5 这是由于创建项目时没有指定jdk版本 而maven的默认jdk版本为
  • Oracle instr函数和sign函数详解

    1 instr 函数 俗称 字符查找函数 格式一 instr string1 string2 instr 源字符串 目标字符串 格式二 instr string1 string2 start position nth appearance
  • 目标检测YOLO实战应用案例100讲-基于改进YOLOv5的口罩人脸检测

    目录 前言 国内外研究现状 目标检测研究发展 国内外口罩人脸检测研究现状
  • Spring Swagger在nginx 二级url 无法正常使用问题解决

    问题描述 测试环境用了nginx做二级url做映射 但swagger的 http www xxx com 二级url v2 JSON里面的host地址还是一级目录 不自动对应nginx做了映射的二级url 因此使用swagger ui ht
  • CENTOS 下service network restart失败最全解决方案

    经常会有人在centOS 7下更改完静态ip后发现network服务重启不了 翻遍了网络 尝试了各种方法 终于解决了 现把各种解决方法归纳整理 希望能让大家少走点歪路 首先看问题 执行service network restart命令后出现
  • 五个温度带的分界线_寒带与温带的分界线是什么啊

    寒带与温带的分界线是什么啊2020 06 01 09 19 44文 钟诗贺 温带与寒带的分界线是 极圈 纬度 66 5 度 地球五带中 热带与温带的分界线是回归线 南北回归线 纬度是23 5度 南北纬23 5度 温带与寒带的分界线是极圈 南
  • 【ISP】光圈、焦距与景深的关系

    最直接的图 1 弥散圆 在焦点前后 光线开始聚集和扩散 点的影象变成模糊的 形成一个扩大的圆 这个圆就叫做弥散圆 现实当中 观赏拍摄的影象是以某种方式 比如投影 放大成照片等等 来观察的 人的肉眼所感受到的影象与放大倍率 投影距离及观看距离
  • ChatGPT4使用体验

    GPT火了很久 被各种媒体吹上了天 但是因为工作原因 一直没有机会去真正的尝试 最近终于有了一天的空闲时间 就想着好好看看GPT当前到底能干啥 如下是我针对不同类别 分别提出不同问题 GPT给的回答 如果有兴趣可以看看 1 定性问题 对于一
  • pandas.read_csv参数详解

    pandas read csv参数整理 读取CSV 逗号分割 文件到DataFrame 也支持文件的部分导入和选择迭代 更多帮助参见 http pandas pydata org pandas docs stable io html 参数
  • 带你学习STM32f1之蓝牙控制LED(简单入手,含主代码)

    目录 前言 一 蓝牙模块简介 二 代码部分详解 三 总结 题外话 前言 这次博文还是主要以STM32f103zet6小系统板来操作 依旧使用库函数入手 寄存器版本可能要到后续再做更新 因为我才刚开始入手寄存器不久 不是很熟练 还在熟悉哈哈
  • anaconda的python环境变量_装了anaconda之后如何设置anaconda、python环境变量

    装了anaconda之后如何设置anaconda python环境变量 1 装了anaconda之后如何设置anaconda环境变量 参考 https www cnblogs com avivi p 10282366 html 后面部分 2
  • python search group_python笔记52-re正则匹配search(group groups groupdict)

    前言 re search扫描整个字符串并返回第一个成功的匹配 re findall返回字符串中所有不重叠匹配项的列表 如果没有匹配到返回空list不会报错 search匹配对象有3个方法 group groups groupdict 这3个
  • BFS模板

    st u 1 标记 bfs u queue
  • leetcode-位运算

    通过位运算取出一个数字的二进制表示的每一位 从末位开始取 比如说 11 1011 所以依次取出末位1 然后是1 0 1 public class bit cal public static void main String args int
  • Java网络编程BIO/NIO

    Java网络编程 网络编程的基础知识 Socket Socket是应用层与TCP IP协议族通信的中间软件抽象层 它是一组接口 在设计模式中 Socket其实就是一个门面模式 它把复杂的TCP IP协议族隐藏在Socket接口后面 对用户来
  • 7-2 装箱问题 (20分)

    7 2 装箱问题 20分 假设有N项物品 大小分别为s 1 s 2 s i s N 其中s i 为满足1 s i 100的整数 要把这些物品装入到容量为100的一批箱子 序号1 N 中 装箱方法是 对每项物品 顺序扫描箱子 把该物品放入足以