• <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>
            posts - 195,  comments - 30,  trackbacks - 0

            New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c coins. Write a program that will determine, for any given amount, in how many ways that amount may be made up. Changing the order of listing does not increase the count. Thus 20c may be made up in 4 ways: 1 20c, 2 10c, 10c+2 5c, and 4 5c.

            Input

            Input will consist of a series of real numbers no greater than $50.00 each on a separate line. Each amount will be valid, that is will be a multiple of 5c. The file will be terminated by a line containing zero (0.00).

            Output

            Output will consist of a line for each of the amounts in the input, each line consisting of the amount of money (with two decimal places and right justified in a field of width 5), followed by the number of ways in which that amount may be made up, right justified in a field of width 12.

            Sample input

             

            0.20
            2.00
            0.00

            Sample output

             

            0.20           4
            2.00         293
            典型的動態規劃問題:
            可以先考慮只有n-1種硬幣,V1,V2,V3,---Vn-1.設湊成總值為M的方法數為result[M];
            現在又添加一種面值為Vn的硬幣。
            則咱們需要修改一些值,修改那些大于等于Vn的result[],不妨設M大于vn。
            新result[M]=原result[M]+result[M-Vn]+result[M-2*Vn]+----直到M-p*Vn<=0;(1)
            實際上如果如(2)那樣處理 從大于等于Vn的result[]開始處理的話,從小到大,設Vn=M-p*Vn;
            則result[M-p*Vn]第一個最先更新,result[M-p*Vn]+=result[M-p*Vn -Vn]   見(2)
            隨后更新result[M-(p-1)*vn],則只需直接加上result[M-p*Vn]的值,無需如(1)式那樣 累加。
            用程序表達就是
            int coin[10]={5,10,20,50,100,200,500,1000,2000,5000};
            for(i=1;i<10;i++)
             for(j=coin[i];j<=50000;j+=5)
                 result[j]+=result[j-Coin[i]];   (2) //
            -------------
            還有一個注意點,見牛人博客,http://hi.baidu.com/piaoshi111/blog/item/9a6de84a00a6e5f882025c89.html
            就是浮點數的四舍五入,
            1.5,浮點數可能表為1.4999999,所以乘以100時轉化為整型是149,應當注意。
            posted on 2009-07-19 21:45 luis 閱讀(487) 評論(0)  編輯 收藏 引用 所屬分類: 動態規劃
            <2011年4月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产亚洲AV不卡| 99久久婷婷国产一区二区| 中文字幕无码精品亚洲资源网久久| 亚州日韩精品专区久久久| 久久精品一区二区三区AV| 亚洲AV无码久久精品色欲| 国产精品欧美久久久久无广告| 久久久久亚洲精品无码网址| 日本人妻丰满熟妇久久久久久| 欧美亚洲国产精品久久蜜芽| 亚洲精品乱码久久久久久不卡| 99999久久久久久亚洲| 欧美精品乱码99久久蜜桃| 日韩欧美亚洲综合久久影院d3| 久久亚洲AV无码精品色午夜| 久久成人精品| 久久99国产精一区二区三区| 久久久久免费精品国产| 久久伊人影视| 久久久精品人妻无码专区不卡| 久久精品天天中文字幕人妻| 久久精品国产亚洲AV久| 天天综合久久一二三区| 久久激情五月丁香伊人| 99久久亚洲综合精品成人| 久久99精品久久久久久hb无码| 久久WWW免费人成一看片| 久久久国产亚洲精品| 日产久久强奸免费的看| 色8激情欧美成人久久综合电| 亚洲国产精品人久久| 九九99精品久久久久久| 久久99毛片免费观看不卡| 久久99精品久久久久久久不卡| 国产精品久久久亚洲| 精品一区二区久久久久久久网站| 国产成人精品久久一区二区三区| 久久久久亚洲AV无码永不| 狠狠色丁香久久婷婷综| 亚洲欧美日韩精品久久| 欧美大战日韩91综合一区婷婷久久青草 |