using namespace std;
int n;
int a[25];
long long Min=1e18;
int ans=0;
void dfs(int pos,long long sum) {
if(pos==n) {
Min=min(Min,abs(ans-2sum));
return;
}
//if(abs(ans-2sum-2*a[pos])>n) {
ans=0;
for(int i = 0; i < n; i++) {
cin>>a[i];
ans+=a[i];
}
Min=1e18;
dfs(0,0);
cout<<Min<<endl;
}
return 0;
}
//dfs为什么加了限制就A不了,怎么修枝剪叶
include
using namespace std;
int n;
int a[25];
long long Min=1e18;
int ans=0;
void dfs(int pos,long long sum) {
if(pos==n) {
Min=min(Min,abs(ans-2sum));
return;
}
//if(abs(ans-2sum-2*a[pos])>n) {
ans=0;
for(int i = 0; i < n; i++) {
cin>>a[i];
ans+=a[i];
}
Min=1e18;
dfs(0,0);
cout<<Min<<endl;
}
return 0;
}
此处Shut down MasterX 记录
估计你也看不出这题考什么吧。