平分石头

平分石头平分石头题目描述:有一n个石头,它们的重量分别是W1,…,Wn.写一个程序,把它们分成两堆,使得两堆石头的重量差最小。输入格式:输入n(1≤n≤20)表示石头的个数。第二行n个石头的重量W1,…,Wn(1≤Wi≤100000)输出格式:输入最小的差(绝对值)样例输入:5581327…

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

平分石头

题目描述:

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

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

 

输入格式:

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

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

输出格式:

输入最小的差(绝对值)

样例输入:

5
5
8
13
27
14

样例输出:

3

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

#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.net/163856.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机全选的键盘,什么是全选快捷键,我将告诉您什么是计算机全选快捷键

    计算机全选的键盘,什么是全选快捷键,我将告诉您什么是计算机全选快捷键在我们的日常工作中,使用快捷键可以提高我们的工作速度,因此我们会记住一些易于使用的快捷键。许在编辑文本时都想使用全选快捷键,但是他们不知道要在键盘上按哪些键。下面,我将向您介绍选择所有快捷键的计算机。经常使用计算机的朋友更加熟悉计算机常用的一些基本快捷键,并且所有人都使用快捷键进行操作,从而提高了工作效率,但是有些新手网民仍然不了解基本的计算机快捷键键,例如选择计算机的快捷键是什么?有些网友不知道…

    2022年5月9日
    77
  • Ubuntu更换Linux内核版本

    Ubuntu更换Linux内核版本Ubuntu14 04 5 默认 Linux 内核版本号是 4 4 0 31 这几天为了换一个低版本的内核 在网上查了蛮多帖子 最后虽然有点小问题 切换内核版本不是很方便 但总算是勉强更换成功 试了几个方法不行后 按照 nbsp https blog csdn net xin yu xin article details nbsp 这篇帖子的方法成功更换 博主的步骤基本没问题 我是一步一步对照着进行的

    2025年7月24日
    2
  • Web聊天工具

    Web聊天工具8款开源聊天系统和程序,包含聊天程序,或是搭建你自己的聊天室系统。来源于:http://parandroid.com/8-open-source-chat/ MOHAChat http://mohachat.org/MOHAChat是一个客户端采用Ajax技术,服务端基于PHP与MySQL的点对点聊天系统。类似于GTalk。 phpFreeChat http://www.p

    2022年6月15日
    62
  • MySQL timestampdiff()函数返回两个时间之间的差值「建议收藏」

    MySQL timestampdiff()函数返回两个时间之间的差值「建议收藏」TIMESTAMPDIFF(unit,begin,end);TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式。TIMESTAMPDIFF函数允许其参数具有混合类型,例如,begin是DATE值,end可以是DATETIME值。如果使用DATE值,则TIMESTAMPDIFF函数将其视为时间部分为“00:00:00”的DATETIME值。unit参数是确定(end-begin)的结果的单位,表示为整数。以下是有效单位:MI

    2022年5月6日
    217
  • tkMapper插件的详细讲解[通俗易懂]

    tkMapper插件的详细讲解[通俗易懂]tkMapper插件的详细讲解一、tkMapper简介tkMapper就是一个MyBatis插件,是在MyBatis的基础上提供的开发工具,可以让开发变得简单,提高开发效率。作用:1、提供了针对单表通用的数据库操作方法2、逆向工程(根据数据表生成实体类、dao接口、映射文件)二、tkMapper整合1、基于SpringBoot完成MyBatis的整合2、整合tkMapper2.1、添加tkMapper的依赖2.2、修改启动类的@MapperScan注解的包为***tk.mybatis.spring.anno

    2022年10月7日
    2
  • 华硕路由器、LEDE、梅林,阿里DDNS教程

    华硕路由器、LEDE、梅林,阿里DDNS教程转自我的博客:sleele.com/2019/04/17/…教程华硕路由器官方固件,梅林,LEDE大体一致,下面我以华硕路由器官改固件为例展开教程首先安装阿里DDNS插件,在阿里注册一个域名,买最便宜的即可,购买域名后进入控制台设置域名解析按照图标顺序操作之后后让你输入手机验证码,之后就可以得到AccessKeyID、AccessKey…

    2022年6月11日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号