题目描述
给出n个物品,每个物品都有自己的价值,每个物品只有一件,这些物品需要分给两个人,要求分配完之后,两个人的物品价值相同。分配完成之后,会丢弃剩下的物品,求最少要丢弃多少物品。
输入
输入第一行为总的测试数据个数,第二行为物品个数n,第三行为n个物品的价值。
输出
最少要丢弃多少物品的价值总和。
示例:
输入:
1
5
30 60 5 15 30
输出:
20 (丢弃5和15,把60分配给第一个人,2个30分配给第二个人。)
思路:
dfs回溯
C++实现
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
class Solution
{
public:
int res = INT_MAX;
void dfs(vector<