解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:646 |
妹子杀手的故事 (C语言代码)浏览:691 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:516 |
矩阵乘法 (C++代码)浏览:1461 |
十->二进制转换 (C语言代码)浏览:1291 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
WU-判定字符位置 (C++代码)浏览:1406 |
printf基础练习2 (C语言代码)浏览:646 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:743 |