qq271989883 2011-10-23 07:32:00
点我顶贴
收藏
删除
只过6个点
程序如下:
#include<stdio.h>
int main()
{
int m,l,i,j,max=-1,k,n;
int f[1001][101]={},t[1001]={},mi[1001]={};
scanf("%d %d %d",&n,&m,&l);
for(i=1;i<=n;i++)
scanf("%d %d",&t[i],&mi[i]);
for(i=1;i<=n;i++)
for(j=l;j>=t[i];j--)
for(k=m;k>0;k--)
if(f[j][k]<f[j-t[i]][k-1]+mi[i])
f[j][k]=f[j-t[i]][k-1]+mi[i];
for(i=1;i<=l;i++)
for(j=1;j<=n;j++)
if(f[i][j]>max)
max=f[i][j];
printf("%d",max);
return 0;
}
谢谢了