题解
2025-07-21 17:46:38
发布于:广东
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int maxn=25;
int n,r,w[maxn],sum1,sum2,minv=2e9;
void dfs(int x)
{
if(x>n)
{
if(abs(sum1-sum2)<minv)
{
minv=abs(sum1-sum2);
}
return;
}
sum1+=w[x];
dfs(x+1);
sum1-=w[x];
sum2+=w[x];
dfs(x+1);
sum2-=w[x];
return;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>w[i];
}
dfs(1);
cout<<minv;
return 0;
}
这里空空如也
有帮助,赞一个