博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
平分物品 【暴搜】
阅读量:3951 次
发布时间:2019-05-24

本文共 972 字,大约阅读时间需要 3 分钟。

时间限制:C/C++ 2秒,其他语言4秒

空间限制:C/C++ 128M,其他语言256M

现在有n个物品,每一个物品都有一个价值,现在想将这些物品分给两个人,要求这两个人每一个人分到的物品的价值总和相同(个数可以不同,总价值相同即可),剩下的物品就需要扔掉,现在想知道最少需要扔多少价值的物品才能满足要求分给两个人。

输入描述:

第一行输入一个整数 T,代表有 T 组测试数据。

对于每一组测试数据,一行输入一个整数 n ,代表物品的个数。

接下来 n 个数,a[i] 代表每一个物品的价值。

1<= T <= 10

1 <= n <= 15

1 <= a[i] <= 100000

输出描述:

对于每一组测试数据,输出一个答案代表最少需要扔的价值。

输入例子1:

1

5
30 60 5 15 30

输出例子1:

20

例子说明1:

样例解释,扔掉第三个和第四个物品,然后将第一个物品和第五个物品给第一个人,第二个物品给第二个人,每一个人分到的价值为

#include
using namespace std;const int N = 1e5+10;int a[N];int res = 1e9;void dfs(int result1,int result2,int sum,int n, int i) {
if(i==n) {
if(result1==result2) {
res = min(res, sum-result1-result2); } return; } dfs(result1+ a[i],result2,sum,n,i+1); dfs(result1,result2+a[i],sum,n,i+1); dfs(result1,result2,sum,n,i+1); }int main() {
int t;scanf("%d",&t); while(t--) {
int n;scanf("%d", &n); res = 1e9; int sum = 0; for(int i=0;i

转载地址:http://rfyzi.baihongyu.com/

你可能感兴趣的文章
干货汇总 | 你可能不知道的 Python Web 部署方式总结
查看>>
技术人再不懂区块链,你就OUT了?漫画版
查看>>
快收藏!史上最全的 Linux Shell 文本处理工具集锦
查看>>
一小时爬千万数据的新浪微博爬虫
查看>>
简约而不简单的 Django 新手图文教程
查看>>
重磅!阿里首次全面公开展示AI布局(附布局图/成绩单/六产业详解)
查看>>
谷歌大脑2017技术研究总结 | Jeff Dean执笔(附论文 & 数据集)
查看>>
最新中国一二三四五线城市排名出炉!去这些城市买房准没错!
查看>>
BAT人工智能生态时局图:全面战争爆发前夜
查看>>
Python交互式数据分析报告框架~Dash介绍
查看>>
Chrome 浏览器 必知必会的小技巧
查看>>
Python奇技淫巧,看看你知道几个
查看>>
资源&教程 | Python数据分析,详细的学习路径
查看>>
白话AI:看懂深度学习真的那么难吗?初中数学,就用10分钟
查看>>
中国癌症大数据出来了!每年126万例癌症死亡本可避免
查看>>
超全的 Linux 机器的渗透测试命令备忘表,共16表128条命令
查看>>
代码传奇 | 明明可以靠颜值 却用代码把人类送上了月球的女人——Margaret Hamilton
查看>>
教你用Java来玩答题(百万英雄/冲刺大会等)
查看>>
用Python做跳一跳外挂太浪费了,这种技能让你目瞪口呆
查看>>
如何在Python中快速进行语料库搜索:近似最近邻算法
查看>>