测评机: Xeost[5]
得分: 80分
提交日期: 2009-8-15 14:26:00
有效耗时: 436毫秒
测试结果1: 通过本测试点|有效耗时62ms
测试结果2: 通过本测试点|有效耗时62ms
测试结果3: 选手程序运行超过时限
测试结果4: 通过本测试点|有效耗时47ms
测试结果5: 通过本测试点|有效耗时46ms
测试结果6: 通过本测试点|有效耗时62ms
测试结果7: 通过本测试点|有效耗时47ms
测试结果8: 选手程序运行超过时限
测试结果9: 通过本测试点|有效耗时47ms
测试结果10: 通过本测试点|有效耗时63ms
#include<stdio.h>
int a[101][101]={0},f[101]={0},n,m;
char c;
int main()
{
scanf("%d%d",&n,&m);
do scanf("%c",&c);while(c!=’\n’);
int i,j,k;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
do scanf("%c",&c);while(c!=’\n’);
}
for(i=1;i<=n;i++)
for(j=m;j>=0;j--)
for(k=0;k<=j;k++)
if(j-k>=0)
if(f[j]<f[j-k]+a[i][k])
f[j]=f[j-k]+a[i][k];
printf("%d",f[m]);
return 0;
}
说归说,写还是要写的。糖糖是一个很认真的学生,对待作业也不例外。因为这次假期结束后学业就很繁重了,必须要提前积攒RP。整个暑假糖糖只有M分钟能用来写N本作业。于是糖糖在阅读了所有的作业本之后,列出了一个N*M的矩阵。第i行的第j个代表第i本作业用j分钟写完可以积攒的RP,你的任务就是,算算在M分钟内写完作业(当然,有的作业是可以不写的),能积攒的RP的最大值。
注意:在读入矩阵时,对于不当数据要正确处理。
输入格式
第一行,输入N和M;(1≤M,N≤100)
第2到N+1行,每行前M个数,第i-1行(原文:i+1)的第j个数代表第i本作业用j分钟写完可以积攒的RP值。
所有数据均为正整数 且输出结果<maxlongint。
输出格式
仅一行,就是积攒RP的最大值。
样例输入
2 3
0 1 0
2 0 0
样例输出
3