zoukankan      html  css  js  c++  java
  • URAL 1005 Stone Pile

    URAL_1005

        由于石头的数量很少但重量的区间跨度比较大,所以不妨直接暴力。

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #define MAXD 30
    int N, a[MAXD], ans, A[MAXD], S;
    int cmp(const void *_p, const void *_q)
    {
        int *p = (int *)_p, *q = (int *)_q;
        return *p < *q ? 1 : -1;
    }
    void init()
    {
        int i, j, k;
        for(i = 0; i < N; i ++)
            scanf("%d", &a[i]);
        qsort(a, N, sizeof(a[0]), cmp);
        A[N] = 0;
        for(i = N - 1; i >= 0; i --)
            A[i] = A[i + 1] + a[i];
    }
    void dfs(int cur, int num)
    {
        if(cur == N)
        {
            if(num > ans)
                ans = num;
        }
        if(A[cur] + num <= ans)
            return ;
        if(num + a[cur] <= S)
            dfs(cur + 1, num + a[cur]);
        dfs(cur + 1, num);
    }
    void solve()
    {
        S = A[0] / 2;
        ans = 0;
        dfs(0, 0);
        printf("%d\n", A[0] - 2 * ans);
    }
    int main()
    {
        while(scanf("%d", &N) == 1)
        {
            init();
            solve();
        }
        return 0;
    }
  • 相关阅读:
    BUUCTF-RE-frimware
    BUUCTF-RE-pyre
    BUUCTF-RE-红帽2019easyRE
    BUUCTF-RE-Youngter-drive
    BUUCTF-RE-LuckGuy
    BUUCTF-RE-简单注册器
    BUUCTF-RE-8086
    BUUCTF-RE-CrackRTF
    PWN学习 ---- pwnable ----input
    linux 远程文件传输
  • 原文地址:https://www.cnblogs.com/staginner/p/2477023.html
Copyright © 2011-2022 走看看