zoukankan      html  css  js  c++  java
  • 18.03.01 codevs1014 装箱问题

    题目描述 Description

    有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。

    要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

    输入描述 Input Description

    一个整数v,表示箱子容量

    一个整数n,表示有n个物品

    接下来n个整数,分别表示这n 个物品的各自体积

    输出描述 Output Description

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

    样例输入 Sample Input

    24

    6

    8

    3

    12

    7

    9

    7

    样例输出 Sample Output

    0

     1 #include <iostream>
     2 #include <string.h>
     3 #include <math.h>
     4 
     5 using namespace std;
     6 
     7 int max(int a,int b)
     8 {
     9     return a>b?a:b;
    10 }
    11 
    12 int main()
    13 {
    14     int v,n;//v容器体积 n物体个数
    15     cin>>v>>n;
    16     int m[40];
    17     for(int i=1;i<=n;i++)
    18         cin>>m[i];
    19     int f[40][10000]={0};
    20     for(int j=1;j<=v;j++)
    21         for(int i=1;i<=n;i++)
    22     {
    23         if(i==1)
    24         {
    25             if(m[i]>j)
    26                 f[i][j]=0;
    27             else
    28                 f[i][j]=m[i];
    29         }
    30         else if(j-m[i]<0)
    31             f[i][j]=f[i-1][j];
    32         else
    33         {
    34             f[i][j]=max(f[i-1][j-m[i]]+m[i],f[i-1][j]);
    35         }
    36     }
    37     cout<<v-f[n][v]<<endl;
    38     return 0;
    39 }
    View Code

    简单的01背包 但我不是很懂容积真的达到20000的时候怎么破

    全局变量

    注定失败的战争,也要拼尽全力去打赢它; 就算输,也要输得足够漂亮。
  • 相关阅读:
    Python 模块chardet安装 setup.py
    Windows下Python安装lxml
    intellij idea 如何更改比编辑器文本字体和大小
    [转]C#设计模式(8)-Builder Pattern
    [转]C#设计模式(4)-Simple Factory Pattern
    [转]C#委托的异步调用
    [转]浅谈C#中常见的委托
    C# 线程池
    [转]C#中的委托和事件(续)
    C#(.net)中的DllImport
  • 原文地址:https://www.cnblogs.com/yalphait/p/8490969.html
Copyright © 2011-2022 走看看