P1466 [USACO2.2] Subset Sums
Description
For many sets of consecutive integers from $1$ through $N$ ($1 \le N \le 39$), one can partition the set into two sets whose sums are identical.
For example, if $N=3$, one can partition the set $\{1,2,3\}$ in one way so that the sums of both subsets are identical:
- $\{3\}$ and $\{1,2\}$
This counts as a single partitioning. Reversing the order counts as the same partitioning and thus does not increase the count of partitions.
If $N=7$, there are four ways to partition the set $\{1,2,3,\ldots,7\}$ so that each partition has the same sum:
- $\{1,6,7\}$ and $\{2,3,4,5\}$
- $\{2,5,7\}$ and $\{1,3,4,6\}$
- $\{3,4,7\}$ and $\{1,2,5,6\}$
- $\{1,2,4,7\}$ and $\{3,5,6\}$
Given $N$, print the number of ways a set containing the integers from $1$ through $N$ can be partitioned into two sets whose sums are identical. Print $0$ if there are no such ways.
Your program must calculate the answer, not look it up from a table.
Input Format
A single line with a single integer $N$.
Output Format
A single line with a single integer that tells how many same-sum partitions can be made from the set $\{1,2,\ldots,N\}$. The output should be $0$ if there are no ways to make a same-sum partition.
Explanation/Hint
USACO Training Section 2.2.