码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3661 DP

时间:2015-05-04 20:13:03      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

cow一共有N分钟,每分钟可以选择跑步(疲劳度+1),或者休息(疲劳度-1),疲劳度有上限m,如果选择休息,必须休息到疲劳度为0才可以继续跑

问最后一分钟过完,且疲劳度为0,所能跑的最远距离

dp[i][j]:第i分钟过完疲劳度为j的能跑的最远距离

#include "stdio.h"
#include "string.h"

int dp[10010][510];
int Max(int a,int b)
{
    if (a<b) return b;
    else return a;
}
int main()
{
    int n,m,i,j,x;
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        memset(dp,0,sizeof(dp));
        for (i=1;i<=n;i++)
        {
            scanf("%d",&x);
            dp[i][0]=dp[i-1][0];
            for (j=1;j<=m;j++)
            {
                if (j<i) dp[i][0]=Max(dp[i][0],dp[i-j][j]);
                dp[i][j]=dp[i-1][j-1]+x;
            }
        }
        printf("%d\n",dp[n][0]);
    }
    return 0;
}


POJ 3661 DP

标签:

原文地址:http://blog.csdn.net/u011932355/article/details/45484877

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!