数据量较小,直接深搜解决
2023-05-25 13:20:04
发布于:浙江
72阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int arr[105],n;
int ans = INT_MAX;
void dfs(int x,int son1,int son2){
if (x == n){
ans = (ans < abs(son1 - son2)) ? ans : abs(son1 - son2);
return;
}
dfs(x + 1,son1 + arr[x],son2);
dfs(x + 1,son1,son2 + arr[x]);
return;
}
int main(){
cin >> n;
for (int i = 0;i < n;i++)
cin >> arr[i];
dfs(0,0,0);
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个