⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3273477_wa.cc

📁 做的POJ的一些题目
💻 CC
字号:
#include<iostream>
using namespace std;
int n,sum=0;
int f[101][45000];
int g[101][45000];
int w[101];
int main()
{
     scanf("%d",&n);
     for(int i=1;i<=n;i++)
     {
          scanf("%d",&w[i]);
          sum+=w[i];
     }
     for(int i=0;i<=n;i++)
     {
          f[i][0]=0;
          g[i][0]=0;
     }
     for(int i=0;i<=sum;i++) 
     {
          f[0][i]=0;
          g[0][i]=0;
     }
     for(int i=1;i<=n;i++)
     {
           for(int j=1;j<=sum;j++)
           {
                 if(j>=w[i] && f[i-1][j-w[i]]+w[i]>f[i-1][j])
                 {
                       f[i][j]=f[i-1][j-w[i]]+w[i];
                       g[i][j]=g[i-1][j-w[i]]+1;       
                 }       
                 else
                 {
                       f[i][j]=f[i-1][j];
                       g[i][j]=g[i-1][j];    
                 }
           }      
     }
     int mins=10000000;
     for(int i=n/2-1;i<=n;i++)
     {
        for(int j=0;j<=sum/2+1;j++)
        {
            if(abs(n-2*g[i][j])<=1&&(abs(sum-2*mins)>abs(sum-2*f[i][j])))
                      mins=f[i][j];
        }
     }
     if(sum-mins<mins)  printf("%d %d\n",sum-mins,mins);
     else printf("%d %d\n",mins,sum-mins);
     system("pause");
     return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -