解题思路:
注意事项:
参考代码:#include <stdio.h>
#define max(x,y) (x)>(y)?(x):(y)
int main()
{
int dp[102][1001]={0},T[1001],V[102],i,j;
int t,m;
while( scanf("%d%d",&t,&m)!=EOF )
{
for( i=1;i<=m;i++ )
scanf("%d%d",&T[i],&V[i]);
for( i=1;i<=m;i++ )
for( j=1;j<=t;j++ )
{
if( T[i]<=j )
dp[i][j]=max( dp[i-1][j-T[i]]+V[i],dp[i-1][j] );
else
dp[i][j]=dp[i-1][j];
}
printf("%d\n",dp[i-1][j-1] );
}
return 0;
}
0.0分
0 人评分
【回文数(二)】 (C语言代码)浏览:855 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:717 |
打水问题 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:513 |
WU-整除问题 (C++代码)浏览:612 |
Wu-求圆的面积 (C++代码)浏览:1892 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:547 |
剪刀石头布 (C++代码)浏览:1712 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |