首页 > 其他 > 详细

POJ 3661 DP

时间:2015-05-04 20:10:20      阅读:175      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!