装箱问题
  gBkHYLY8jvYd 2023年11月19日 13 0

[NOIP2001 普及组] 装箱问题

题目描述

有一个箱子容量为 装箱问题_#include,同时有 装箱问题_#include_02 个物品,每个物品有一个体积。

现在从 装箱问题_#include_02 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。

输入格式

第一行共一个整数 装箱问题_#include,表示箱子容量。

第二行共一个整数 装箱问题_#include_02,表示物品总数。

接下来 装箱问题_#include_02 行,每行有一个正整数,表示第 装箱问题_#include_07 个物品的体积。

输出格式

  • 共一行一个整数,表示箱子最小剩余空间。

样例 #1

样例输入 #1

24
6
8
3
12
7
9
7

样例输出 #1

0

提示

对于 装箱问题_#include_08 数据,满足 装箱问题_#include_09装箱问题_ios_10

【题目来源】

NOIP 2001 普及组第四题

#include <algorithm>
#include <iostream>
using namespace std;
int Min = 9999999,v[31],m,n;
inline void dfs(int now,int num) {
  Min = min(Min,now);  //取小值
  if (num == n+1) return;  //选完了
  if (now-v[num] >= 0) dfs(now-v[num],num+1);  //还可以装
  dfs(now,num+1);  //跳过
}
int main (){
  ios :: sync_with_stdio(false);
  cin >> m >> n;
  for (int i = 1;i <= n;i++) cin >> v[i];
  dfs(m,1);  //搜索
  cout << Min;
  return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
gBkHYLY8jvYd
作者其他文章 更多

2023-12-12

2023-12-11

2023-12-10

2023-12-10

2023-12-09

2023-12-08

2023-12-06

2023-12-06

2023-12-06