题解
2023-08-17 15:28:45
发布于:广东
45阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[101],n,ans=0x3f3f3f3f;
void dfs(int x,int wealth1,int wealth2){
if (x == n){
ans = (ans < abs(wealth1 - wealth2)) ? ans : abs(wealth1 - wealth2);
return;
}
dfs(x + 1,wealth1 + a[x],wealth2);
dfs(x + 1,wealth1,wealth2 + a[x]);
return;
}
int main(){
cin >> n;
for (inlinet i = 0;i < n;i++)
cin >> a[i];
dfs(0,0,0);
cout << ans;
return 0;
}
途中还出了一个笑话:
#include <bits/stdc++.h>
using namespace std;
int a[101],n,ans=0x3f3f3f3f;
void dfs(int x,int wealth1,int wealth2){
if (x == n){
ans = (ans < abs(wealth1 - wealth2)) ? ans : abs(wealth1 - wealth2);
return;
}
dfs(x + 1,welath1 + a[x],wealth2);
dfs(x + 1,wealth1,wealth2 + a[x]);
return;
}
int main(){
cin >> n;
for (inlinet i = 0;i < n;i++)
cin >> a[i];
dfs(0,0,0);
cout << ans;
return 0;
}
你能找到不同吗?
全部评论 2
12行15列welath1
2023-08-30 来自 广西
1哈哈哈哈
2024-02-26 来自 广东
0
有帮助,赞一个