提交时间:2024-04-06 17:14:40

运行 ID: 142190

#include <stdio.h> #include <string.h> #define max(a,b) a>b?a:b int A[105][105],f[1001]={0}; int n,c,k; void fenzubeibao() { memset(f,0,sizeof(f)); int i,j,k; for (i = 1; i <= n; i++) { for ( j = c; j >= 0; j--) { for (k = 1; k <= j; k++){ f[j] = max(f[j],f[j-k]+A[i][k]); } } } printf("%d\n",f[c] ); } int main() { while(~scanf("%d%d",&n,&c))//n个物体,c的容量 { int i,j; for(i = 1 ; i <= n; i++) { for(j = 1; j <= c; j++) { scanf("%d",&A[i][j]); } } fenzubeibao(); } }