• <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

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

            ZOJ 1013 - Great Equipment

            Posted on 2008-03-22 15:53 superman 閱讀(457) 評論(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 
            久久精品人人做人人爽97| 久久精品毛片免费观看| 久久er热视频在这里精品| 久久综合给久久狠狠97色| 久久精品日日躁夜夜躁欧美| 99精品国产综合久久久久五月天 | 久久w5ww成w人免费| 久久精品国产亚洲AV蜜臀色欲| 久久婷婷五月综合色高清| 国产欧美久久一区二区| 99久久99久久精品国产片| 色99久久久久高潮综合影院| 久久久久久精品免费看SSS| 国产亚洲精品美女久久久| 精品99久久aaa一级毛片| 久久精品卫校国产小美女| 久久精品国产精品亚洲精品| 久久电影网| 国产精品久久毛片完整版| 精品久久久一二三区| 国产成人精品久久免费动漫| 欧美色综合久久久久久| 91久久精品91久久性色| 香蕉99久久国产综合精品宅男自| 久久精品中文闷骚内射| 日本亚洲色大成网站WWW久久| 潮喷大喷水系列无码久久精品| 久久久午夜精品| 久久综合给合综合久久| 亚洲嫩草影院久久精品| 狠狠色丁香久久综合婷婷| 久久精品无码一区二区WWW | 久久亚洲AV成人无码软件| 99久久这里只有精品| 久久久久亚洲AV片无码下载蜜桃| 亚洲成色999久久网站| 久久精品99久久香蕉国产色戒| 久久综合亚洲色一区二区三区| 久久久久久久久久免免费精品| 久久久国产精品网站| 国产精品久久久久无码av|