弑神灭魔 2011-08-04 04:05:00
点我顶贴
收藏
删除
#include <stdio.h>
#define max(a,b) (a>b)?a:b
int f[101]={0};
int main()
{
int t,n,name;
scanf("%d %d %d",&t,&n,&name);
int grade[n+1][t+1],i,j,k;
for(i=1;i<n+1;i++)
{
for(j=1;j<t+1;j++)
scanf("%d",&grade[i][j]);
}
for(i=1;i<t+1;i++)
{
for(j=1;j<n+1;j++)
{
for(k=1;k<=i-name;k++)
f[i]=max(f[i],f[i-k-name]+grade[j][k]);
}
}
printf("%d",f[t]);
return 0;
}