zoukankan      html  css  js  c++  java
  • zoj2972 Hurdles of 110m


    当时练习的时候,没有想清楚。  (#-.-)

    这题挺水的,把状态转移方程推出来就知道写了。


    Code:

    #include <stdio.h>
    #include <string.h>
    #define min(a,b)  a<b  ?  a:b
    
    const int maxn = 115;
    const int INF = 1000000000;
    int f[maxn][maxn];//f[i][j]表示第i个阶段耗费j点力量时,的最小耗时。
    
    int main()
    {
        int i, j, t, n, m, t1, t2, t3, f1, f2;
        scanf("%d", &t);
        while (t--) {
            scanf("%d%d", &n, &m);
            for (i = 0; i <= n; i++)
                for (j = 0; j <= m; j++)
                    f[i][j] = INF;
            f[0][m]  = 0;
            for (i = 1; i <= n; i++) {
                scanf("%d%d%d%d%d", &t1, &t2, &t3, &f1, &f2);
                for (j = 0; j <= m; j++) {
                    if (j >= f1)
                        f[i][j - f1] = min(f[i][j - f1], f[i - 1][j] + t1);
                    f[i][j] = min(f[i][j], f[i - 1][j] + t2);
                    if (j + f2 <= m)
                        f[i][j + f2] = min(f[i][j + f2], f[i - 1][j] + t3);
                    else
                        f[i][m] = min(f[i][m], f[i - 1][j] + t3);
                }
            }
    
            int minn = INF;
            for (i = 0; i <= m; i++)
                if (f[n][i] < minn) minn = f[n][i];
            printf("%d
    ", minn);
        }
        return 0;
    }
    



  • 相关阅读:
    C语言I博客作业09
    请看这里
    C++ 面向对象学习笔记[1]
    graphviz的使用
    KDE安装后的一些随笔
    近期内容整理
    链表
    理解C++ lvalue与rvalue
    再看“笕实智慧校园”——作品的复盘[1]
    无题
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3268662.html
Copyright © 2011-2022 走看看