zoukankan      html  css  js  c++  java
  • wikioi 1014 装箱问题(背包)

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

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

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

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

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

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

    24

    6

    8

    3

    12

    7

    9

    7

    0

     1     
     2     #include<iostream>  
     3     #include<string.h>  
     4     #include<stdio.h>  
     5     #include<ctype.h>  
     6     #include<algorithm>  
     7     #include<stack>  
     8     #include<queue>  
     9     #include<set>  
    10     #include<math.h>  
    11     #include<vector>  
    12     #include<map>  
    13     #include<deque>  
    14     #include<list>  
    15     using namespace std;
    16     int a[1000],f[100000];
    17     int main()
    18     {
    19         int v,n;
    20         cin>>v>>n;
    21         for(int i=0;i<n;i++)
    22         {
    23             cin>>a[i];
    24         }
    25         for(int i=0;i<n;i++)
    26         {
    27             for(int j=v;j>=a[i];j--)
    28             {
    29                 f[j]=max(f[j],f[j-a[i]]+a[i]);
    30             }
    31         }
    32         cout<<v-f[v];
    33         
    34     }
    View Code
  • 相关阅读:
    String和inputstream互转【转文】
    shell学习笔记
    如何实现网页标题的闪动提示
    JAVAWEB项目如何实现验证码
    Oralce数据库的优化(面试必问题)
    sqlldr 学习总结1
    各种浏览器的Hack写法(chrome firefox ie等)
    存储过程
    App Store那些事儿
    JBMP学习引导
  • 原文地址:https://www.cnblogs.com/qscqesze/p/3893890.html
Copyright © 2011-2022 走看看