P3067 [USACO12OPEN] Balanced Cow Subsets G
题目描述
我们定义一个奶牛集合 $S$ 是平衡的,当且仅当满足以下两个条件:
- $S$ 非空。
- $S$ 可以被**划分**成两个集合 $A,B$,满足 $A$ 里的奶牛产奶量之和等于 $B$ 里的奶牛产奶量之和。划分的含义是,$A\cup B=S$ 且 $A\cap B=\varnothing$。
现在给定大小为 $n$ 的奶牛集合 $S$,询问它有多少个子集是平衡的。请注意,奶牛之间是互不相同的,但是它们的产奶量可能出现相同。
输入格式
第一行一个整数 $n$,表示奶牛的数目。
第 $2$ 至 $n+1$ 行,每行一个数 $a_i$,表示每头奶牛的产奶量。
输出格式
输出一个数表示方案总数。
### 样例解释
共存在三种方案。集合 $\{1,2,3\}$ 可以划分为 $\{1,2\}$ 与 $\{3\}$;集合 $\{1,3,4\}$ 可以划分为 $\{1,3\}$ 与 $\{4\}$;集合 $\{1,2,3,4\}$ 可以划分为 $\{1,4\}$ 与 $\{2,3\}$,共 $3$ 种子集。
说明/提示
对于全部数据,保证 $1\le n\le 20$,$1\le a_i\le 10^8$。