zoukankan      html  css  js  c++  java
  • 动态规划01背包算法

     1 int Bag01( int m,int n,int w[], int p[] )//n为背包容量,m为物品数量;w[] 为物品的重量;p[]为物品的价值
     2 {
     3    int c[10][100];//最优子结构矩阵,m<10,n<100
     4      int i,j;
     5      for( i=0;i<10;i++ )
     6       for( j=0;j<100;j++ )
     7        c[i][j]=0;
     8 
     9      for( i = 1;i < n+1;i++ )
    10       for( j = 1;j < m+1;j++ )
    11       {
    12          if( w[i] > j ) //第i个物品的重量 > 包的容量;
    13           c[i][j] = c[i-1][j];
    14          else 
    15          {
    16              if( p[i]+c[i-1][j-w[i]] > c[i-1][j] )//所以第i行的数据是从第i-1行得来的。
    17             c[i][j] = p[i]+c[i-1][j-w[i]]; 
    18           else
    19             c[i][j] = c[i-1][j];
    20          }
    21       }
    22   return( c[n][m] );
    23 }
  • 相关阅读:
    咨询
    xcode技巧
    礼仪
    asi 网络框架
    iOS 开发问题 书籍 价值 改名 创业大赛app
    PS,UI,美工
    运营推广
    多线程 并发 文章
    手机技巧 文章
    javaScript 类文章
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2439788.html
Copyright © 2011-2022 走看看