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

            C小加

            厚德 博學(xué) 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            NYOJ地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=325
            題意:

            把所給出的石頭分成兩堆,使兩堆的差最小。

            思路:

            這道題可以用01背包寫(xiě)。。也可以直接暴力。。。題上的數(shù)據(jù)范圍決定了dp的效率沒(méi)有暴力的高。。

            代碼:

            #include <iostream>
            #include 
            <algorithm>
            #include 
            <cstring>
            #include 
            <cmath>
            using namespace std;

            int a[23];
            int sumAll;
            int def;
            void DFS(int sum,int i)
            {
                
            if(i<0return;
                
            int temp=abs(sumAll-2*sum);
                
            if(def>temp) def=temp;
                DFS(sum
            +a[i],i-1);
                DFS(sum,i
            -1);
            }


            int main()
            {

                    
            int n;
                    cin
            >>n;
                
                    memset(a,
            0,sizeof(a));
                    
            int i=0;
                    sumAll
            =0;
                    def
            =0x7fffffff-1;
                    
            for(;i<n;i++)
                    {
                        cin
            >>a[i];
                        sumAll
            +=a[i];
                    }

                    DFS(
            0,n-1);
                    cout
            <<def<<endl;




                

                
            return 0;
            }

             

            Feedback

            # re: Ural 1005 Stone Pilet NYOJ zb的生日 解題報(bào)告  回復(fù)  更多評(píng)論   

            2011-12-16 22:57 by alafeizai
            我寫(xiě)了個(gè)dp的,但是wa了,請(qǐng)問(wèn)有什么比較特殊的測(cè)試用例嗎?

            #include <iostream>
            #include <stdio.h>
            #include <algorithm>
            #include <cstring>
            #include <stdlib.h>

            using namespace std;

            int a[20];
            int f[200003];
            int total=0;

            void calc(int n)
            {
            for(int i=0; i<n; i++)
            {
            for(int j=total/2-a[i]; j>=0; j--)
            {
            if(f[j] == 1)
            {
            f[j+a[i]]=1;
            }
            }
            }
            }

            int main()
            {
            int n;
            while(scanf("%d",&n)!=EOF)
            {
            memset(a,0,20);
            memset(f,0,200003);
            f[0] = 1;
            total = 0;

            for(int i=0; i<n; i++)
            {
            scanf("%d",&a[i]);
            total+=a[i];
            }

            calc(n);

            for(int i=total/2; i>=0; i--)
            {
            if(f[i]==1)
            {
            printf("%d\n",total-2*i);
            break;
            }
            }

            }

            return 0;
            }

            # re: Ural 1005 Stone Pilet NYOJ zb的生日 解題報(bào)告  回復(fù)  更多評(píng)論   

            2011-12-16 23:13 by C小加
            清零的時(shí)候用這樣的格式
            memset(a,0,sizeof(a));
            @alafeizai
            久久99国产综合精品| 无码人妻久久一区二区三区蜜桃| 久久亚洲2019中文字幕| 欧美久久亚洲精品| 久久精品桃花综合| 久久亚洲欧美国产精品| 亚洲精品国产成人99久久| 久久久久久亚洲精品不卡| 欧美精品国产综合久久| 久久99精品久久久久婷婷| 欧美日韩中文字幕久久伊人| 亚洲欧美另类日本久久国产真实乱对白| 久久久WWW成人免费毛片| 久久久久高潮综合影院| 久久综合欧美成人| 亚洲综合精品香蕉久久网| 伊人久久免费视频| 亚洲精品无码专区久久久| 色综合久久88色综合天天| 久久精品国产亚洲av麻豆蜜芽 | 漂亮人妻被黑人久久精品| 夜夜亚洲天天久久| 精品伊人久久大线蕉色首页| 久久免费高清视频| 久久综合亚洲欧美成人| 亚洲国产成人久久笫一页| 久久国产精品-久久精品| 99久久国产宗和精品1上映| 久久精品国产99久久香蕉| 嫩草影院久久国产精品| 精品无码久久久久国产| 久久九九久精品国产免费直播| 国产精品gz久久久| 人人狠狠综合久久亚洲88| 狠狠色噜噜色狠狠狠综合久久| 日本国产精品久久| 精品无码久久久久久久久久| 91久久精品电影| 国产成人综合久久久久久| 久久福利青草精品资源站| 久久久精品午夜免费不卡|