动态规划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 }
**************************************************************
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对困难,能够不休不眠;面对压力,能够迎接挑战。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想,用智慧把属于自己的事业开创。其实我是一个程序员[=.=]
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对困难,能够不休不眠;面对压力,能够迎接挑战。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想,用智慧把属于自己的事业开创。其实我是一个程序员[=.=]