hdoj 1176免费馅饼(dp)

题目链接


//2013-05-17-21.08
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int maxn = 100004;

int dp[maxn][12];

int main()
{
    int n, maxt, t, x;
    int tmax;
    while(scanf("%d", &n) && n)
    {
        memset(dp, 0, sizeof(dp));
        maxt = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d%d",&x, &t);
            maxt = max(t, maxt);
            dp[t][x]++;
        }
        t = maxt;
        for (t--; t >= 0; t--)
        {
            for (int i = 0; i <= 10; i++)
            {
                if (i == 0)
                    tmax = max(dp[t+1][i], dp[t+1][i+1]);
                else if (i == 10)
                    tmax = max(dp[t+1][i], dp[t+1][i-1]);
                else
                {
                    tmax = max(dp[t+1][i-1], dp[t+1][i]);
                    tmax = max(tmax, dp[t+1][i+1]);
                }
                dp[t][i] += tmax;
            }
        }
        printf("%d\n", dp[0][5]);
    }
    return 0;
}


发布了236 篇原创文章 · 获赞 577 · 访问量 52万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览