前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >平分石头

平分石头

作者头像
全栈程序员站长
发布2022-09-15 10:58:44
1910
发布2022-09-15 10:58:44
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

平分石头

题目描述:

有一n个石头,它们的重量分别是 W1, …, Wn.

写一个程序,把它们分成两堆,使得两堆石头的重量差最小。

输入格式:

输入 n (1 ≤ n ≤ 20)表示石头的个数。

第二行n个石头的重量 W1, …, Wn ( 1 ≤ Wi ≤ 100000)

输出格式:

输入最小的差(绝对值)

样例输入:

代码语言:javascript
复制
5
5
8
13
27
14

样例输出:

代码语言:javascript
复制
3

时间限制:1000ms 空间限制:128MByte

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
int a, b[25], ans = 1000000000, s = 0, t;

int dfs(int n, int l, int r)
{
    if(n > a)
    {
        if(abs(l - r) < ans) ans = abs(l - r);
        return 0;
    }
    dfs(n +1, l + b[n], r);
    dfs(n +1, l, r + b[n]);
}

int main()
{
    cin>>a;
    for(int i = 1; i <= a; i++) cin>>b[i], s += b[i];
    sort(b +1, b + a +1);
    dfs(1, 0, 0);
    cout<<ans<<endl;
    return 0;
}

转载于:https://www.cnblogs.com/abs27/p/9304764.html

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163856.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 平分石头
    • 题目描述:
      • 输入格式:
        • 输出格式:
          • 样例输入:
            • 样例输出:
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档