解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define max 10000
int f[max][max]={0};
int time[max]={0};
int value[max]={0};
int MAX(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int main()
{
int T,M;
scanf("%d%d",&T,&M);
int i;
int j;
for(i=1;i<=M;i++)
{
scanf("%d%d",&time[i],&value[i]);
}
for(i=1;i<=M;i++)
{
for(j=1;j<=T;j++)
{
if(j<time[i])
{
f[i][j]=f[i-1][j];
}
else
{
f[i][j]=MAX(f[i-1][j],f[i-1][j-time[i]]+value[i]);
}
}
}
printf("%d",f[M][T]);
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:738 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:495 |
C语言训练-排序问题<1> (C++代码)浏览:598 |
A+B for Input-Output Practice (II) (C语言代码)浏览:999 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:785 |
字符逆序 (C语言代码)浏览:615 |
打印十字图 (C语言代码)浏览:2710 |
1134题解(求分析)浏览:729 |
矩阵转置 (C语言代码)浏览:783 |
简单的a+b (C语言代码)浏览:442 |