• <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)  編輯 收藏 引用

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導航

            統計

            公告

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

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            性做久久久久久久| 亚洲狠狠婷婷综合久久久久| 久久国产色AV免费观看| 久久精品国产亚洲AV无码偷窥| 狠狠色丁香久久婷婷综合五月| 91精品国产91久久久久久青草| 久久久网中文字幕| 久久久久无码精品国产| 久久亚洲精品无码观看不卡| 无码日韩人妻精品久久蜜桃| 精品免费久久久久国产一区| 久久九九兔免费精品6| 国产高清美女一级a毛片久久w | 97久久婷婷五月综合色d啪蜜芽| 少妇高潮惨叫久久久久久 | 久久亚洲私人国产精品| 色综合久久88色综合天天| 欧美日韩精品久久免费| 久久亚洲欧美日本精品| 久久久久成人精品无码中文字幕| 国产午夜福利精品久久| 久久777国产线看观看精品| 性欧美大战久久久久久久久| 激情综合色综合久久综合| 国产精品无码久久综合| 无码人妻久久一区二区三区免费丨 | 久久综合狠狠综合久久激情 | 亚洲综合精品香蕉久久网| 久久精品中文字幕有码| 亚洲成色999久久网站| 久久99精品国产一区二区三区| 午夜精品久久久久久毛片| 久久无码AV中文出轨人妻| 久久精品无码免费不卡| 精品久久久久久无码人妻蜜桃| 久久精品无码一区二区三区| 国产精品久久国产精品99盘| 成人综合伊人五月婷久久| 欧美亚洲国产精品久久蜜芽| 久久综合九色综合精品| 国产2021久久精品|