给定整数a1,a2,a3...an 判断是否可以从中选出若干数 使他们的和恰好为0
#include<stdio.h>
#include<stdlib.h>
int a[10000];
int n, k;
bool dfs(int i,int sum) {
if (i == n)
return sum == k;
if (dfs(i + 1, sum)) return true;
if (dfs(i + 1, sum + a[i]))
return true;
return false;
}
void solve() {
if (dfs(0, 0))
printf("YES");
else
printf("no");
}
int main() {
scanf("%d", &n);
int c = n;
while (c--) {
scanf("%d", &a[c]);
}
scanf("%d", &k);
solve();
//system("pause");
return 0;
}