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

            poj pku 1011

            //一道強搜索題
              1 #include<iostream>
              2 #include<algorithm>
              3 #define MAXN 65
              4 using namespace std;
              5 
              6 int _m[MAXN];
              7 int _sum[MAXN];
              8 bool mark[MAXN];
              9 bool op(int a,int b);
             10 bool boo;
             11 int num;
             12 int sum_all;
             13 void search(int len,int index,int sum,int n,int time);
             14 int main()
             15 {
             16     //freopen("acm.acm","r",stdin);
             17     int    n;
             18     int i;
             19     int j;
             20     int sum;
             21     int max;
             22     int time;
             23     while(1)
             24     {
             25         scanf("%d",&n);
             26         if(!n)
             27             break;
             28         sum_all = 0;
             29         memset(mark,false,sizeof(mark));
             30         memset(_m,0,sizeof(_m));
             31         sum = 0;
             32         for(i = 0; i < n; ++ i)
             33         {
             34             scanf("%d",&_m[i]);
             35             sum += _m[i];
             36         }
             37         sort(_m,_m+n,op);
             38         for(i = 0; i < n; ++ i)
             39         {
             40             _sum[i] = _m[i];
             41         }
             42         max = *max_element(_m,_m+n);
             43         for(i = n-2; i >= 0-- i)
             44         {
             45             _sum[i] += _sum[i+1];
             46         }
             47 
             48         for(i = max; i < sum; ++ i)
             49         {
             50             memset(mark,false,sizeof(mark));
             51             if(i > sum/2+1)
             52                 continue;
             53             boo = false;
             54             if(sum % i != 0)
             55                 continue;
             56             num = sum/i;
             57             time = 1;
             58             j = 0;
             59             while(_m[j] == i) 
             60             {
             61                 mark[j] = true;
             62                 ++ j;
             63             }
             64 
             65             if(j == sum/i)
             66             {
             67                 printf("%d\n",i);
             68                 break;
             69             }
             70             mark[j] = true;
             71             search(i,j,_m[j],n,time+j);
             72             mark[j] = false;
             73             if(boo)
             74             {
             75                 printf("%d\n",i);
             76                 break;
             77             }
             78         }
             79         if(i == sum)
             80             cout<<sum<<endl;
             81     }
             82 }
             83 
             84 void search(int len,int index,int sum,int n,int time)
             85 {
             86     if(time == num)
             87     {
             88         boo = true;
             89     }
             90     if(boo)
             91         return;
             92     int i;
             93     for(i = index+1; i < n; ++ i)
             94     {
             95         if(!mark[i])
             96         {
             97             if(!mark[i-1&& _m[i] == _m[i-1])
             98                 continue;
             99             if(sum + _sum[i] < len)
            100             {
            101                 break;
            102             }
            103             if(sum + _m[i] < len)
            104             {
            105                 mark[i] = true;
            106                 search(len,i,sum+_m[i],n,time);
            107                 mark[i] = false;
            108                 if(boo)
            109                     return;
            110             }
            111             else if(sum + _m[i] == len)
            112             {
            113                 mark[i] = true;
            114                 int k;
            115                 for(k = 0; k < n; ++ k)
            116                 {
            117                     if(!mark[k])
            118                         break;
            119                 }
            120                 mark[k] = true;
            121                 search(len,k,_m[k],n,time+1);
            122                 if(boo)
            123                     return;
            124                 mark[i] = false;
            125                 mark[k] = false;
            126                 break;
            127             }
            128         }
            129     }
            130 }
            131 
            132 bool op(int a,int b)
            133 {
            134     return a > b ;
            135 }
            136 
            137 


            posted on 2010-06-19 20:37 成大才子 閱讀(263) 評論(0)  編輯 收藏 引用

            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            導航

            統計

            公告

            關于更多關于成大才子,請訪問http://hi.baidu.com/成大才子

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            人妻无码αv中文字幕久久琪琪布| 9久久9久久精品| 久久人人爽人人爽人人片AV高清 | 久久久噜噜噜久久熟女AA片| 亚洲中文久久精品无码| 久久夜色精品国产亚洲| 亚洲国产精品嫩草影院久久 | 中文精品久久久久人妻不卡| 无码超乳爆乳中文字幕久久| 色综合久久精品中文字幕首页| 久久久久国产精品麻豆AR影院| 97精品伊人久久久大香线蕉| 国产精品久久亚洲不卡动漫| 中文字幕亚洲综合久久菠萝蜜| 9久久9久久精品| 亚洲精品无码专区久久久| 国内精品久久久久影院网站 | 亚洲国产精品无码成人片久久| 国产精品久久久久无码av| 77777亚洲午夜久久多人| 久久久WWW成人免费毛片| 乱亲女H秽乱长久久久| 久久午夜福利电影| 国产精品嫩草影院久久| 久久亚洲精品视频| 99久久中文字幕| 91久久精一区二区三区大全| 久久久久久久波多野结衣高潮 | 伊人久久免费视频| 777米奇久久最新地址| 久久婷婷国产综合精品| 97精品依人久久久大香线蕉97| 亚洲乱码日产精品a级毛片久久 | 一本伊大人香蕉久久网手机| 精品国际久久久久999波多野| 久久人与动人物a级毛片| 日韩va亚洲va欧美va久久| 久久久久亚洲精品无码网址| 丁香久久婷婷国产午夜视频| 国产成人久久精品二区三区| 曰曰摸天天摸人人看久久久|