Stupid Tower Defense

时间:2014-08-12 22:18:14   收藏:0   阅读:640

题目链接

LL n, g, b, r, t;
LL dp[MAXN];

int main()
{
    int T;
    RI(T);
    FE(kase, 1, T)
    {
        cin >> n >> r >> g >> b >> t;
        LL ans = n * r * t;
        CLR(dp, -1); dp[0] = 0;
        REP(all, n)
        {
            FED(i, n, 0)
            {
                if (~dp[i])
                {
                    LL nxt = dp[i] + (i * b + t) * (all - i) * g;
                    if (dp[i + 1] < nxt)
                        dp[i + 1] = nxt;
                    nxt = dp[i] + (i * b + t) * (all - i) * g;
                    if (dp[i] < nxt)
                        dp[i] = nxt;
                }
            }
            FE(i, 0, n)
            {
                if (~dp[i])
                {
                    LL nxt = dp[i] + (n - all - 1) * (t + i * b) * (r + (all + 1 - i) * g);
                    if (ans < nxt)
                        ans = nxt;
                }
            }
        }
        printf("Case #%d: %I64d\n", kase, ans);
    }
    return 0;
}


Stupid Tower Defense,布布扣,bubuko.com

原文:http://blog.csdn.net/wty__/article/details/38519503

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!