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

            USACO Section 2.3 Money Systems

            Money Systems

            The cows have not only created their own government but they have chosen to create their own money system. In their own rebellious way, they are curious about values of coinage. Traditionally, coins come in values like 1, 5, 10, 20 or 25, 50, and 100 units, sometimes with a 2 unit coin thrown in for good measure.

            The cows want to know how many different ways it is possible to dispense a certain amount of money using various coin systems. For instance, using a system of {1, 2, 5, 10, ...} it is possible to create 18 units several different ways, including: 18x1, 9x2, 8x2+2x1, 3x5+2+1, and many others.

            Write a program to compute how many ways to construct a given amount of money using supplied coinage. It is guaranteed that the total will fit into both a signed long long (C/C++) and Int64 (Free Pascal).

            PROGRAM NAME: money

            INPUT FORMAT

            The number of coins in the system is V (1 <= V <= 25).

            The amount money to construct is N (1 <= N <= 10,000).
            Line 1: Two integers, V and N
            Lines 2..: V integers that represent the available coins (no particular number of integers per line)

            SAMPLE INPUT (file money.in)

            3 10
                1 2 5
                

            OUTPUT FORMAT

            A single line containing the total number of ways to construct N money units using V coins.

            SAMPLE OUTPUT (file money.out)

            10
                

            Analysis

            It is really a very good problem to train your dynamic programing skill. Initially, it is close to the comletement pack problem. The only difference is that we need to calculate the methods instead of the highest value. But it doesn't matter, change the traditional function max into a proper one: sum.Well, the problem becomes simple.
            Here I'd better provode my dynamic function: f[i][v]=sum{f[i-1][v-k*w[i]]|0<=k*w[i]<=N}
            The f[i][v] stands for the ith coin for you to choose and v is the money you need to express. Of course, k is the number of the coins. Wow,fantastic!

            Code

            /*
            ID:braytay1
            PROG:money
            LANG:C++
            */

            #include 
            <iostream>
            #include 
            <fstream>
            #include 
            <string>
            using namespace std;
            ofstream fout(
            "money.out");
            ifstream fin(
            "money.in");
            void swap(int *p1,int *p2)
            {
                
            int tmp;
                tmp
            =*p1;
                
            *p1=*p2;
                
            *p2=tmp;
            }

            int partition(int a[],int p,int r)
            {
                
            int x,i;
                x
            =a[r];
                i
            =p-1;
                
            for (int j=p;j<r;j++)
                
            {
                    
            if (a[j]<=x) {i++;swap(a+i,a+j);}
                }

                swap(a
            +i+1,a+r);
                
            return i+1;
            }

            void quicksort(int a[],int p,int r)
            {
                
            if (p<r)
                
            {
                    
            int q;
                    q
            =partition(a,p,r);
                    quicksort(a,p,q
            -1);
                    quicksort(a,q
            +1,r);
                }

            }


            int main(){
                
            int V,N;
                fin
            >>V>>N;
                
            int w[26];
                
            long long int f[10001],g[10001];
                
            for(int i=1;i<=V;i++){
                    fin
            >>w[i];
                }

                quicksort(w,
            1,V);
                memset(f,
            0,sizeof(f));
                memset(g,
            0,sizeof(g));
                
            for (int i=0;i*w[1]<=N;i++) g[i*w[1]]=1;
                
            for(int i=2;i<=V;i++){
                    
            for(int j=0;j<=N;j++){
                        
            for(int k=0;k*w[i]<=j;k++){
                            f[j]
            +=g[j-k*w[i]];
                        }
                        
                    }
                
                    
            for(int j1=0;j1<=N;j1++){
                        g[j1]
            =f[j1];
                        f[j1]
            =0;
                    }

                }

                fout
            <<g[N]<<endl;
                
            return 0;
            }




             

            posted on 2008-08-12 03:26 幻浪天空領(lǐng)主 閱讀(208) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): USACO

            <2011年6月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案(2)

            文章分類(lèi)(23)

            文章檔案(22)

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            午夜精品久久久久久| 久久国产热精品波多野结衣AV| 欧美熟妇另类久久久久久不卡| 国产精品成人久久久久三级午夜电影 | 日产精品久久久久久久| 国产精品久久久久aaaa| 五月丁香综合激情六月久久| 亚洲国产小视频精品久久久三级| 麻豆精品久久久一区二区| 日韩AV无码久久一区二区| 久久久久se色偷偷亚洲精品av| 久久综合五月丁香久久激情| 久久精品视频91| 亚州日韩精品专区久久久| 久久91精品国产91久| 热99RE久久精品这里都是精品免费| 偷窥少妇久久久久久久久| 色欲久久久天天天综合网精品 | 久久99久久无码毛片一区二区| 久久香蕉综合色一综合色88| 久久综合久久久| 久久久精品人妻无码专区不卡 | 久久久久亚洲AV成人网人人网站| 国产精品亚洲综合专区片高清久久久| 亚洲狠狠综合久久| 国产精品久久久久免费a∨| 精产国品久久一二三产区区别| 精品乱码久久久久久久| 国产精品伦理久久久久久| 久久天天躁夜夜躁狠狠| 国产一区二区三区久久| 欧美与黑人午夜性猛交久久久 | 伊人久久大香线蕉影院95| 久久成人18免费网站| 99久久无色码中文字幕人妻| 成人综合伊人五月婷久久| 久久久久婷婷| 狠狠色丁香久久综合婷婷| 青青热久久国产久精品| 国产精品一久久香蕉国产线看观看| 精品99久久aaa一级毛片|