#include<stdio.h>
int main(){
int v[5]={0,3,4,5,6};
int w[5]={0,2,3,4,5};
int j=8;
int i=0;
int i1=0;
int tab[5][9];
for(i=0;i<5;i++){
tab[i][0]=0;
}
for(i1=0;i1<9;i1++){
tab[0][i1]=0;
}
for(i=1;i<5;i++){
for(i1=1;i1<9;i1++){
if(i1<w[i])
tab[i][i1]=tab[i-1][i1];
else{
tab[i][i1]=tab[i-1][i1];
if(tab[i-1][i1]<tab[i-1][i1-w[i]]+v[i]){
tab[i][i1]=tab[i-1][i1-w[i]]+v[i];
}
}
}
}
int outi=0;
for(;outi<5;outi++){
int outi1=0;
for(;outi1<9;outi1++){
printf("%d\t",tab[outi][outi1]);
}
printf("\n");
}
return 0;
}
//主要误区 放一定比不放V大
解释 当你放入时 原有的平衡就被打破