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

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

            ZOJ 1168 - Function Run Fun

            Posted on 2008-04-11 18:46 superman 閱讀(400) 評論(1)  編輯 收藏 引用 所屬分類: ZOJ
            I can't stand the problem.
            TLE many times just because of using cin/cout :(
             1 /* Accepted 1168 C++ 00:00.21 472K */
             2 #include <stdio.h>
             3 
             4 int f[21][21][21];
             5 int w(int a, int b, int c)
             6 {
             7     if(a <= 0 || b <= 0 || c <= 0)
             8         return 1;
             9     
            10     if(f[a][b][c])
            11         return f[a][b][c];    
            12     
            13     if(a < b && b < c)
            14         return f[a][b][c] = w(a, b, c-1+ w(a, b-1, c-1- w(a, b-1, c);
            15     return f[a][b][c] = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1- w(a-1, b-1, c-1);
            16 }
            17 
            18 int main()
            19 {
            20     int a, b, c;
            21     while(scanf("%d %d %d"&a, &b, &c) != EOF)
            22     {
            23         if(a == -1 && b == -1 && c == -1)
            24             break;
            25         
            26         printf("w(%d, %d, %d) = ", a, b, c);
            27         if(a <= 0 || b <= 0 || c <= 0)
            28             printf("1\n");
            29         else
            30         {
            31             if(a > 20 || b > 20 || c > 20)
            32                 a = 20, b = 20, c = 20;
            33             printf("%d\n", w(a, b, c));
            34         }
            35     }
            36     
            37     return 0;
            38 }
            39 

            Feedback

            # re: ZOJ 1168 - Function Run Fun  回復  更多評論   

            2008-10-08 16:41 by kk
            //更大的問題在于你沒更多的保存中間值 ~_~

            #include<iostream> //為避免無限的或大量的重復遞歸,,怎么辦??,數組模擬

            using namespace std;

            const int N=100;
            int f[N][N][N];

            int recur(int a,int b,int c){

            if(a<=0 || b<=0 || c<=0){
            f[a][b][c]=1;
            }
            else if(a>20 || b>20 || c>20){
            f[a][b][c]=recur(20,20,20);

            }
            else if(a<b && b<c){
            if(f[a][b][c-1] == 0 )
            f[a][b][c-1]=recur(a,b,c-1);
            if(f[a][b-1][c-1]== 0)
            f[a][b-1][c-1]=recur(a,b-1,c-1);
            if(f[a][b-1][c] == 0 )
            f[a][b-1][c]=recur(a,b-1,c);
            f[a][b][c]=f[a][b][c-1]+f[a][b-1][c-1]-f[a][b-1][c];

            }
            else{
            if(f[a-1][b][c] == 0)
            f[a-1][b][c]=recur(a-1,b,c);
            if(f[a-1][b][c-1] == 0)
            f[a-1][b][c-1]=recur(a-1,b,c-1);
            if(f[a-1][b-1][c] == 0)
            f[a-1][b-1][c]=recur(a-1,b-1,c);
            if(f[a-1][b-1][c-1]==0)
            f[a-1][b-1][c-1]=recur(a-1,b-1,c-1);
            f[a][b][c]=f[a-1][b][c]+f[a-1][b][c-1]+f[a-1][b-1][c]-f[a-1][b-1][c-1];
            }

            return f[a][b][c];

            }

            int main()
            {

            int a,b,c;

            //cout<<"輸入3個數: "<<endl;

            while(cin>>a>>b>>c) {
            //memset(f,0,sizeof(f));//寫這個就超時。。。

            if(a==-1 && b==-1 && c==-1) break;

            if(a<=0 || b<=0 || c<=0)
            cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<1<<endl;

            else
            cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<recur(a,b,c)<<endl;
            }

            return 0;

            }
            国产精品99久久久久久人| 亚洲中文字幕伊人久久无码| 无码日韩人妻精品久久蜜桃| 亚洲精品成人久久久| 97久久香蕉国产线看观看| 亚洲中文久久精品无码ww16| 欧洲成人午夜精品无码区久久| 国产成人精品综合久久久 | 9999国产精品欧美久久久久久| 天天爽天天爽天天片a久久网| 久久99精品久久久久久9蜜桃| 精品国产乱码久久久久久呢| 久久亚洲精品无码AV红樱桃| 久久久久久青草大香综合精品| 久久久久久久精品成人热色戒| 婷婷综合久久中文字幕| 午夜精品久久久久久99热| 久久人人超碰精品CAOPOREN| 无码人妻精品一区二区三区久久久 | 色8久久人人97超碰香蕉987| 国产免费福利体检区久久| 人人妻久久人人澡人人爽人人精品 | 一本久道久久综合狠狠躁AV| 狠狠色婷婷久久一区二区三区| 久久精品国产福利国产琪琪| 狠狠久久亚洲欧美专区 | 成人综合伊人五月婷久久| 亚洲欧美久久久久9999| 大蕉久久伊人中文字幕| 99久久国产综合精品麻豆| 人妻无码αv中文字幕久久 | 日韩精品久久无码中文字幕| 亚洲人AV永久一区二区三区久久 | 久久中文精品无码中文字幕| 日本免费久久久久久久网站| www久久久天天com| 72种姿势欧美久久久久大黄蕉| 久久久久久久97| 精品亚洲综合久久中文字幕| 狠狠色噜噜狠狠狠狠狠色综合久久 | 日韩av无码久久精品免费|