uva 562

来源:互联网 发布:系统优化级别选哪个好 编辑:程序博客网 时间:2024/04/29 11:04

简单背包   容量为所有硬币和的一半

#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;int a[110];int f[51000];int main(){    int t;    scanf("%d",&t);    while(t--)    {        memset(f, 0, sizeof(f));        int n;        scanf("%d",&n);        int sum = 0;        for(int i = 0; i < n; i++)        {            scanf("%d",&a[i]);            sum += a[i];        }        int V = (sum+1)/2;        for(int i = 0; i < n; i++)        {            for(int j = sum; j >= a[i]; j--)            {                f[j] = max(f[j], f[j-a[i]]+a[i]);            }        }        printf("%d\n",abs(2*f[V]-sum));    }    return 0;}


原创粉丝点击