首页 > 其他 > 详细

hdu 1176 免费馅饼(动态规划)

时间:2016-08-02 11:13:19      阅读:258      评论:0      收藏:0      [点我收藏+]

技术分享

 

AC code:

#include<stdio.h>
#include<string.h>
#define max(a,b) (a>b?a:b)
#define maxof3(a,b,c) (max(max(a,b),c))
int dp[100005][12];
int main(void)
{
    int n,i,j,x,t,maxtime;
    while(scanf("%d",&n)!=EOF,n)
    {
        maxtime=0;
        memset(dp,0,sizeof(dp));
        for(i=0; i<n; i++)
        {
            scanf("%d%d",&x,&t);
            ++dp[t][x];
            if(t>maxtime)maxtime=t;
        }
        for(i=maxtime-1; i>=0; i--)
        {
            dp[i][0]+=max(dp[i+1][0],dp[i+1][1]);
            for(j=1; j<11; j++)
            {
                dp[i][j]+=maxof3(dp[i+1][j],dp[i+1][j+1],dp[i+1][j-1]);
            }
        }
        printf("%d\n",dp[0][5]);
    }
    return 0;
}

  

hdu 1176 免费馅饼(动态规划)

原文:http://www.cnblogs.com/A--Q/p/5728107.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!