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

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            //MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋

            題目地址:
                     http://acm.hdu.edu.cn/showproblem.php?pid=2079
            題目描述:
            Describtion
            又到了選課的時(shí)間了,xhd看著選課表發(fā)呆,為了想讓下一學(xué)期好過點(diǎn),他想知道學(xué)n個(gè)學(xué)分共有多少組合。你來幫幫他吧。(xhd認(rèn)為一樣學(xué)分的課沒區(qū)別)
             

            Input
            輸入數(shù)據(jù)的第一行是一個(gè)數(shù)據(jù)T,表示有T組數(shù)據(jù)。
            每組數(shù)據(jù)的第一行是兩個(gè)整數(shù)n(
            1 <= n <= 40),k(1 <= k <= 8)。
            接著有k行,每行有兩個(gè)整數(shù)a(
            1 <= a <= 8),b(1 <= b <= 10),表示學(xué)分為a的課有b門。
             

            Output
            對(duì)于每組輸入數(shù)據(jù),輸出一個(gè)整數(shù),表示學(xué)n個(gè)學(xué)分的組合數(shù)。

            很簡單的題目, 看上去就是直接母函數(shù)了, 而且還比較標(biāo)準(zhǔn).
            代碼如下:
            //MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋

            #include 
            <iostream>
            using namespace std;
            int score[9];
            int amt[9];
            int num1[41];
            int num2[41];
            int main ()
            {
                
            int T;
                
            while ( cin >> T )
                {
                      
            while ( T -- )
                      {
                            
            int N,K;
                            cin 
            >> N >> K;
                            
            for ( int i = 1; i<= K; ++ i )
                            {
                                  cin 
            >> score[i] >> amt[i]; 
                            } 
                            
            for ( int i = 0; i <= N; ++ i )
                            {
                                  num1[i] 
            = num2[i] = 0
                            }
                            num1[
            0= 1;
                            
            for ( int i = 1; i <= K; ++ i )
                            {
                                  
            for ( int j = 0; j <= N; ++ j )
                                  {
                                        
            for ( int k = 0; k <= amt[i] && k * score[i] + j <= N; ++ k )
                                        {
                                              num2[ k 
            * score[i] + j ] += num1[j];
                                        } 
                                  } 
                                  
            for ( int j = 0; j <= N; ++ j )
                                  {
                                        num1[j] 
            = num2[j];
                                        num2[j] 
            = 0;
                                  }
                            }
                            cout 
            << num1[N] << endl;
                      } 
                }
                
            return 0
            }

            這道題的數(shù)據(jù)是比較小的, 所以可以直接暴力AC,  這樣想起來, 暴力似乎更加簡單直觀, 所以以后做題的時(shí)候應(yīng)該先分析題目數(shù)據(jù)的規(guī)模, 以免浪費(fèi)比賽時(shí)間, 當(dāng)然,平常練習(xí)時(shí)不建議暴力.
            暴力代碼: ( 非本人所寫, 據(jù)說HDU上 可以0k 0ms過, 沒試過 )
            #include <stdio.h>

            int main(void)
            {
                
            int c[9], k, n, i;
                
            int count;
                
            int t[9], a, b;
                
            int total = 40;

                scanf(
            "%d"&k);
                
            while (k-- && scanf("%d%d"&total, &n))
                {
                    
            for (count = i = 0; i < 9; t[i++= 0);
                    
            for (i = 0; i < n; i++)
                    {
                        scanf(
            "%d%d"&a, &b);
                        t[a] 
            = b;
                    }
                    
            for (c[8= 0; c[8<= t[8&& c[8* 8 <= total; c[8]++)
                    
            for (c[7= 0; c[7<= t[7&& c[8* 8 + c[7* 7 <= total; c[7]++)
                    
            for (c[6= 0; c[6<= t[6&& c[8* 8 + c[7* 7 + c[6* 6 <= total; c[6]++)
                    
            for (c[5= 0; c[5<= t[5&& c[8* 8 + c[7* 7 + c[6* 6 + c[5* 5 <= total; c[5]++)
                    
            for (c[4= 0; c[4<= t[4&& c[8* 8 + c[7* 7 + c[6* 6 + c[5* 5  + c[4* 4 <= total; c[4]++)
                    
            for (c[3= 0; c[3<= t[3&& c[8* 8 + c[7* 7 + c[6* 6 + c[5* 5  + c[4* 4  + c[3* 3 <= total; c[3]++)
                    
            for (c[2= 0; c[2<= t[2&& c[8* 8 + c[7* 7 + c[6* 6 + c[5* 5  + c[4* 4  + c[3* 3  + c[2* 2 <= total; c[2]++)
                    {
                        c[
            1= total - (c[8* 8 + c[7* 7 + c[6* 6 + c[5* 5  + c[4* 4  + c[3* 3  + c[2* 2);
                        
            if (c[1>= 0 && c[1<= t[1]) count++;
                    }
                    printf(
            "%d\n", count);
                }
                

                
            return 0;
            }
            无码人妻久久一区二区三区| 国产激情久久久久影院小草| 精品国产综合区久久久久久| 国产精品久久毛片完整版| 9999国产精品欧美久久久久久| 国产精品免费久久| 人人狠狠综合久久亚洲| 日日躁夜夜躁狠狠久久AV| 国产精品99久久精品| 久久国产视屏| 97久久精品无码一区二区| 99久久夜色精品国产网站| 香蕉久久久久久狠狠色| 久久久久亚洲AV成人片| 久久国产欧美日韩精品| 久久精品国产一区二区三区不卡| 亚洲午夜久久久| 亚洲精品美女久久久久99小说| 久久久亚洲裙底偷窥综合| 91麻精品国产91久久久久| 欧洲人妻丰满av无码久久不卡 | 久久国产精品成人影院| 久久婷婷久久一区二区三区| 久久精品国产亚洲av影院| 国产亚州精品女人久久久久久 | 色8激情欧美成人久久综合电| 久久综合给合久久国产免费| 久久精品国产福利国产琪琪| 久久国产欧美日韩精品| 婷婷五月深深久久精品| 无码乱码观看精品久久| 久久99久久无码毛片一区二区 | 无码人妻精品一区二区三区久久 | 色婷婷久久综合中文久久蜜桃av| 久久精品中文字幕有码| 国产成人综合久久久久久| 青青青青久久精品国产h| 69SEX久久精品国产麻豆| 久久综合亚洲欧美成人| 亚洲AV日韩AV天堂久久| 久久久久99精品成人片试看|