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


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

            導(dǎo)航

            統(tǒng)計

            公告

            關(guān)于更多關(guān)于成大才子,請訪問http://hi.baidu.com/成大才子

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久久久久久无码| 久久综合给合久久狠狠狠97色| 国产99久久精品一区二区| 大香网伊人久久综合网2020| 久久国产综合精品五月天| 久久只有这精品99| 日本精品久久久中文字幕| 综合人妻久久一区二区精品| 999久久久无码国产精品| 伊人久久大香线蕉综合5g| 久久精品一区二区| 欧美熟妇另类久久久久久不卡 | 怡红院日本一道日本久久 | 久久国产色AV免费看| 国产精品亚洲综合专区片高清久久久| 老男人久久青草av高清| 色婷婷久久综合中文久久一本| 欧美亚洲另类久久综合| 狠狠色婷婷综合天天久久丁香| 99久久婷婷免费国产综合精品| 久久婷婷五月综合色奶水99啪| 爱做久久久久久| 丰满少妇人妻久久久久久4| 久久精品嫩草影院| 久久久艹| 久久精品免费观看| 国产aⅴ激情无码久久| 久久精品亚洲精品国产色婷| 粉嫩小泬无遮挡久久久久久 | 久久午夜电影网| 久久久久亚洲AV无码专区首JN | 久久久精品久久久久久| 久久精品国产精品亚洲| 亚洲中文字幕无码久久2020| 一本伊大人香蕉久久网手机| 久久99九九国产免费看小说| 久久综合88熟人妻| 无遮挡粉嫩小泬久久久久久久 | 亚洲欧美精品一区久久中文字幕| 久久天天躁狠狠躁夜夜网站| 久久se这里只有精品|