解题思路:
注意事项:
参考代码:
#include<stdio.h>
int max(int a, int b)
{
return a>b ? a:b;
}
int main()
{
int T, M, i;
scanf("%d%d", &T, &M);
int time[101] = {0};
int value[101] = {0};
for(i = 1; i <= M; i++)
scanf("%d%d", &time[i], &value[i]);
int m[101][1001] = {0};
for(i = 1; i <= M; i++)
{
for(int j = 1; j <= T; j++)
{
if(j >= time[i])
m[i][j] = max(m[i-1][j], m[i-1][j-time[i]]+value[i]);
else
m[i][j] = m[i-1][j];
}
}
printf("%d\n", m[M][T]);
return 0;
}
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:506 |
C二级辅导-公约公倍 (C语言代码)浏览:817 |
C二级辅导-统计字符 (C语言代码)浏览:986 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题6.9 (C++代码)论pow函数的应用浏览:1022 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1052 |
简单的a+b (C语言代码)浏览:489 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:805 |
【绝对值排序】 (C语言代码)浏览:713 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:676 |