• <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>
            隨筆-3  評論-0  文章-0  trackbacks-0
             1#include<iostream>
             2#include<algorithm>
             3#include<memory.h>
             4#include<ctime>
             5using namespace std;
             6int n;              //小棒總數
             7int len;            //當前枚舉的原棒長度
             8int parts;          //當前組合的原棒數
             9int max;            //最長小棒的長度
            10int sum;            //所有小棒的總長
            11int a[100];       //存儲小棒相關信息
            12bool used[100];      //標記小棒是否使用
            13
            14
            15bool pt(int a,int b)
            16 {return a>b;}
            17bool dfs(int res,int cpl,int level)//res:當前已組合進去的木棒的長度      cpl:組合進去的小木棒的條數
            18{
            19    int i;
            20    if(res==len)
            21    {
            22        res = 0;
            23        cpl++;
            24    }

            25    if(cpl == parts)
            26        return true;
            27    for(i=level;i<n;i++)
            28    {
            29        if(i && !used[i-1&& a[i]==a[i-1])continue;
            30        if(used[i]==0)
            31        {
            32            if(res + a[i] <len)
            33            {
            34                used[i] = true;
            35                if(dfs(res+a[i],cpl,i+1))return true;
            36                used[i] = false;
            37            }

            38            else if(res+a[i]==len)
            39            {
            40                used[i] = true;
            41                if(dfs(0,cpl+1,0))return true;
            42                used[i] = false;
            43            }

            44            if(res==0break;
            45        }

            46        
            47        
            48    }

            49    return false;    
            50}

            51int main()
            52{
            53    int i;
            54    int T;
            55    cin>>T;
            56    while(T--){
            57        scanf("%d",&n);
            58        sum=0;
            59        for(i=0;i<n;i++){
            60            scanf("%d",&a[i]);
            61            sum+=a[i];
            62            used[i]=false;
            63        }

            64        sort(a,a+n,pt);
            65        len=sum/4;
            66        parts=4;
            67        for(i=0;i<100;i++)
            68            used[i]=false;
            69        if(sum%4==0&&dfs(0,1,0))
            70        {
            71            printf("yes\n");
            72        }

            73        else printf("no\n");
            74    }

            75  return 0;
            76}

            77
            78
            79
            posted on 2009-05-14 19:15 yiflying 閱讀(1500) 評論(0)  編輯 收藏 引用
            久久只有这里有精品4| 久久天天躁狠狠躁夜夜avapp | 亚洲AV无一区二区三区久久 | 精品久久久久久无码不卡| 久久久久久久综合狠狠综合| 亚洲精品国精品久久99热一| 久久精品国产一区| 色妞色综合久久夜夜| 国产精品久久国产精品99盘| 久久亚洲视频| 99久久99久久精品免费看蜜桃| 91久久精品国产91性色也| 青青草原综合久久大伊人| AV无码久久久久不卡蜜桃| 亚洲第一永久AV网站久久精品男人的天堂AV | 色偷偷888欧美精品久久久| 亚洲精品97久久中文字幕无码| 久久久久久久亚洲Av无码| 久久久久久亚洲精品不卡| 国产精品久久久久jk制服| 久久一区二区三区99| 久久精品国产精品青草| 国产成人久久精品一区二区三区| 久久99精品国产麻豆蜜芽| 97久久精品人妻人人搡人人玩 | 国产视频久久| 久久美女人爽女人爽| 久久久久久久久久久久中文字幕 | 久久久久99这里有精品10| 精品综合久久久久久88小说 | 亚洲成色999久久网站| 麻豆亚洲AV永久无码精品久久| 久久综合色区| 久久青青草原精品国产不卡 | 久久精品a亚洲国产v高清不卡| 亚洲国产成人久久综合区| 久久国产精品免费一区二区三区| 99久久精品日本一区二区免费| 亚洲国产精品高清久久久| AV无码久久久久不卡蜜桃| 亚洲精品高清国产一线久久 |