• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            superman

            聚精會神搞建設 一心一意謀發展
            posts - 190, comments - 17, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            ZOJ 1013 - Great Equipment

            Posted on 2008-03-22 15:53 superman 閱讀(458) 評論(0)  編輯 收藏 引用 所屬分類: ZOJ
             1 /* Accepted 1013 C++ 00:03.25 2804K */
             2 #include <stdio.h>
             3 #include <string.h>
             4 #include <iostream>
             5 
             6 using namespace std;
             7 
             8 int n;
             9 int w1, s1, d1;
            10 int w2, s2, d2;
            11 int w3, s3, d3;
            12 int c1, c2, c3, d4;
            13 int opt[2][501][501];
            14 struct { int w, s; } caravan[101];
            15 
            16 int put(int k, int i, int j)
            17 {
            18     int w = (caravan[k].w - i * w1 - j * w2) / w3;
            19     int s = (caravan[k].s - i * s1 - j * s2) / s3;
            20     if(w <= 0 || s <= 0return 0;
            21     return (w < s ? w : s);
            22 }
            23 
            24 int main()
            25 {
            26     int cs = 0;
            27     while(cin >> n)
            28     {
            29         if(n == 0)
            30             break;
            31         cin >> w1 >> s1 >> d1;
            32         cin >> w2 >> s2 >> d2;
            33         cin >> w3 >> s3 >> d3;
            34         cin >> c1 >> c2 >> c3 >> d4;
            35         for(int i = 1; i <= n; i++)
            36             cin >> caravan[i].w >> caravan[i].s;
            37         
            38         memset(opt, 0sizeof(opt));
            39         
            40         opt[0][0][0= 0;
            41         int mx = 0, my = 0;
            42         for(int k = 1; k <= n; k++)
            43         {
            44             memset(opt[1], 0XFFsizeof(opt[1]));
            45             int mmx = mx, mmy = my;
            46             for(int i = 0; i <= mx; i++)
            47             for(int j = 0; j <= my; j++)
            48             {
            49                 if(opt[0][i][j] == -1)
            50                     continue;
            51                 for(int p = 0; p * w1 <= caravan[k].w && p * s1 <= caravan[k].s; p++)
            52                 for(int q = 0; p * w1 + q * w2 <= caravan[k].w && p * s1 + q * s2 <= caravan[k].s; q++)
            53                 {
            54                     opt[1][i + p][j + q] >?= (opt[0][i][j] + put(k, p, q));
            55                     mmx >?= i + p;
            56                     mmy >?= j + q;
            57                 }
            58             }
            59             mx = mmx;
            60             my = mmy;
            61             memcpy(opt[0], opt[1], sizeof(opt[1]));
            62         }
            63         int max = 0;
            64         for(int i = 0; i <= mx; i++)
            65         for(int j = 0; j <= my; j++)
            66         if(opt[0][i][j] >= 0)
            67         {
            68             if(d4 > c1 * d1 + c2 * d2 + c3 * d3)
            69             {
            70                 int t1 = i, t2 = j, t3 = opt[0][i][j], cur = 0;
            71                 while(t1 - c1 >= 0 && t2 - c2 >= 0 && t3 - c3 >= 0)
            72                 {
            73                     t1 -= c1;
            74                     t2 -= c2;
            75                     t3 -= c3;
            76                     cur += d4;
            77                 }
            78                 cur += (t1 * d1 + t2 * d2 + t3 * d3);
            79                 max >?= cur;
            80             }
            81             else
            82                 max >?= (i * d1 + j * d2 + opt[0][i][j] * d3);
            83         }
            84         if(cs++)
            85             cout << endl;
            86         cout << "Case " << cs << ':' << ' ' << max << endl;
            87     }
            88     return 0;
            89 }
            90 
            久久综合九色综合久99| 久久精品无码午夜福利理论片| 国产一区二区三区久久| 久久精品国产精品国产精品污| 国产精品久久久久一区二区三区 | 亚洲αv久久久噜噜噜噜噜| 新狼窝色AV性久久久久久| 久久精品国产99国产电影网| 无码任你躁久久久久久| 国产V综合V亚洲欧美久久| 久久久久久国产精品免费免费 | 无码专区久久综合久中文字幕| 久久青草国产精品一区| 亚洲国产成人久久精品99| 精品国产VA久久久久久久冰 | 久久久久亚洲精品天堂久久久久久| 伊人久久大香线蕉av一区| 色成年激情久久综合| 亚洲AV乱码久久精品蜜桃| 一级做a爰片久久毛片看看| 久久精品成人免费看| 无码人妻少妇久久中文字幕蜜桃| 久久精品亚洲乱码伦伦中文| 久久本道伊人久久| 无码超乳爆乳中文字幕久久| 久久久精品国产| 精品国产婷婷久久久| 国产精品99久久久久久www| av无码久久久久不卡免费网站| 久久这里都是精品| 亚洲欧洲中文日韩久久AV乱码| 久久久久噜噜噜亚洲熟女综合| 99久久精品免费看国产一区二区三区| 久久精品国产网红主播| 久久精品国产亚洲av日韩| 亚洲va中文字幕无码久久| 久久天天躁狠狠躁夜夜2020一| 国产精品中文久久久久久久| 久久人人爽人人爽人人片AV麻豆| 欧美精品丝袜久久久中文字幕| 天天影视色香欲综合久久|