ural1005 Stone Pile (枚举)

枚举n个石头的状态(即分在左还是右),然后找到答案最小的状态。

#include 
using namespace std;

int a[25];

int main() {
    int n; scanf("%d", &n);
    for (int i = 0; i < n; i++) scanf("%d", &a[i]);
    int ans = 0x3f3f3f3f;
    for (int i = 0; i < (1 << n); i++) {
        int l = 0, r = 0;
        for (int j = 0; j < n; j++) {
            if (i & (1 << j)) l += a[j];
            else r += a[j];
        }
        ans = min(ans, abs(l - r));
    }
    printf("%d\n", ans);
    return 0;
}


你可能感兴趣的:(acm,ural,暴力)