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

            糯米

            TI DaVinci, gstreamer, ffmpeg
            隨筆 - 167, 文章 - 0, 評(píng)論 - 47, 引用 - 0
            數(shù)據(jù)加載中……

            POJ 3040 Allowance 貪心

            思路:

            每次放錢的時(shí)候,遵循兩個(gè)原則來尋找最優(yōu)方案:
            1. 不能用面額小的組成面額大的
            2. 所有方案中取最接近 C 的那個(gè)
            就這樣一次次的放,放到?jīng)]錢為止。

            注意,由于貨幣的數(shù)量較大,如果最優(yōu)方案可以執(zhí)行多次,那就一次過執(zhí)行完。

            #include <stdio.h>
            #include 
            <stdlib.h>

            #define MAX_N 64

            struct node {
                
            int val, cnt;
            }
            ;
            struct node coin[MAX_N];
            int N, C, best, best_idx, ans, need[MAX_N];

            inline 
            int min(int a, int b)
            {
                
            return a < b ? a : b;
            }


            int cmp(const void *a, const void *b)
            {
                
            return ((struct node *)a)->val - ((struct node *)b)->val;
            }


            inline 
            int put(int idx, int val)
            {
                
            int n;

                n 
            = min(coin[idx].cnt, (C - val - 1/ coin[idx].val);
                val 
            += coin[idx].val * n;
                
            if (coin[idx].cnt > n) {
                    
            if (!best || val + coin[idx].val < best) {
                        best 
            = val + coin[idx].val;
                        best_idx 
            = idx;
                    }

                }
             
                need[idx] 
            = n;

                
            return val;
            }


            inline 
            int can()
            {
                
            int i, val;

                best 
            = val = 0;
                
            for (i = N - 1; i >= 0; i--)
                    val 
            = put(i, val);

                
            return best;
            }


            inline 
            void update()
            {
                
            int i, cnt;

                cnt 
            = 100000000;
                need[best_idx]
            ++;
                
            for (i = N - 1; i >= best_idx; i--)
                    
            if (need[i])
                        cnt 
            = min(cnt, coin[i].cnt / need[i]);
                
            for (i = N - 1; i >= best_idx; i--
                    coin[i].cnt 
            -= cnt * need[i];
                ans 
            += cnt;
            }


            int main()
            {
                
            int i;

                scanf(
            "%d%d"&N, &C);
                
            for (i = 0; i < N; i++
                    scanf(
            "%d%d"&coin[i].val, &coin[i].cnt);
                qsort(coin, N, 
            sizeof(coin[0]), cmp);
                
                
            while (coin[N - 1].val >= C) {
                    ans 
            += coin[N - 1].cnt;
                    N
            --;
                }

                
            while (can())
                    update();
                
                printf(
            "%d\n", ans);

                
            return 0;
            }

            posted on 2010-04-13 12:25 糯米 閱讀(563) 評(píng)論(0)  編輯 收藏 引用 所屬分類: POJ

            久久一区二区三区免费| 欧美伊人久久大香线蕉综合| 狠狠色丁香婷综合久久| 久久久精品人妻无码专区不卡| 久久久久亚洲精品天堂久久久久久| 亚洲国产综合久久天堂 | 久久久精品久久久久久| 亚洲精品乱码久久久久久不卡| 国产成人久久激情91| 久久人妻AV中文字幕| 国产综合久久久久久鬼色| 亚洲欧美日韩久久精品| 国产成人久久久精品二区三区| 亚洲综合精品香蕉久久网| 久久九九兔免费精品6| 亚洲精品乱码久久久久久按摩| 久久久无码精品亚洲日韩软件| 九九久久99综合一区二区| 少妇久久久久久久久久| 国产亚洲色婷婷久久99精品| 久久国产精品无码一区二区三区| 国产69精品久久久久观看软件 | 久久久久九九精品影院| 久久伊人中文无码| 亚洲中文字幕无码久久综合网| 99久久国产综合精品女同图片| 青青草原综合久久大伊人| 亚洲国产精品无码久久久秋霞2| 77777亚洲午夜久久多人| 99久久精品国内| 久久久久亚洲AV无码专区首JN| 久久久无码精品亚洲日韩按摩| 香港aa三级久久三级| 久久婷婷国产剧情内射白浆| 热99re久久国超精品首页| 热re99久久6国产精品免费| 久久久久综合中文字幕| 亚洲国产精品久久久久网站| 无码国内精品久久人妻蜜桃 | 久久久久久伊人高潮影院| 国产成人无码精品久久久免费|