• <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 成大才子 閱讀(254) 評論(0)  編輯 收藏 引用

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

            導航

            統計

            公告

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

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            99久久精品这里只有精品| 99久久精品免费看国产一区二区三区 | 少妇久久久久久被弄到高潮| 久久婷婷国产剧情内射白浆| 亚洲国产精品无码久久一区二区| 久久亚洲国产精品成人AV秋霞| 亚洲中文字幕无码久久2017 | 亚洲国产精品久久久久婷婷软件| 国产激情久久久久影院老熟女| 日韩人妻无码一区二区三区久久99| 久久久一本精品99久久精品88 | 99re久久精品国产首页2020| 亚洲欧美久久久久9999| 久久精品国产只有精品66| 一本色综合久久| 亚洲国产精品久久久久婷婷老年| 亚洲国产精品一区二区三区久久| 久久久久久人妻无码| 久久久久久久综合狠狠综合| 狠狠色丁香久久综合五月| 久久人人爽人人爽人人片AV不 | 国内精品久久久久影院日本| 久久人人爽人人澡人人高潮AV| 久久精品亚洲精品国产色婷 | 久久精品国产91久久综合麻豆自制 | 久久精品这里只有精99品| 久久精品国产亚洲av麻豆蜜芽| 久久国产色AV免费观看| 青青草国产97免久久费观看| 久久国产精品久久精品国产| 香蕉久久夜色精品升级完成| 亚洲欧洲精品成人久久奇米网| 国产成人精品久久亚洲高清不卡| 久久水蜜桃亚洲av无码精品麻豆| 欧美精品国产综合久久| 伊人热热久久原色播放www| 久久精品成人免费观看97| 精品无码久久久久久久久久| 国产AV影片久久久久久| 国产欧美久久一区二区| 久久99精品久久久久久久不卡|