zoukankan      html  css  js  c++  java
  • AYOJ 装箱问题(01背包剩余容量)

    题目描述

     有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。
      要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

    输入格式

     第一行为一个整数,表示箱子容量;
      第二行为一个整数,表示有n个物品;
      接下来n行,每行一个整数表示这n个物品的各自体积。

    输出

    一个整数,表示箱子剩余空间。

    样例输入

    24
    6
    8
    3
    12
    7
    9
    7

    样例输出

    0

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 int main()
     5 {
     6     int s, v[40], n, i, a[40], j;
     7     cin >>s>> n;
     8     for(i = 0; i < n; i++)
     9     {
    10         cin >> a[i];
    11         v[i] = s;
    12     }
    13     sort(a, a + n);
    14     for(j = 0; j < n; j++)
    15         for(i = n - 1 - j; i >= 0; i--)
    16         {
    17             if(v[j] >= a[i])
    18                 v[j] -= a[i];
    19         }
    20         sort(v, v + n);
    21     cout << v[0] << endl;
    22 }
    View Code
  • 相关阅读:
    pycharm快捷键
    Docker
    Go语言与Elasticsearch
    Celery与APScheduler
    爬虫入门到入狱
    数据分析
    后台管理
    Linux基础与自动化运维
    微信小程序
    Git
  • 原文地址:https://www.cnblogs.com/qiu520/p/3602337.html
Copyright © 2011-2022 走看看