测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2212. 集合 Subset Sums

编程题 普及/提高-

题目描述

对于从 $1\sim n$ 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果 $n=3$,对于 $\{1,2,3\}$ 能划分成两个子集合,每个子集合的所有数字和是相等的:

$\{3\}$ 和 $\{1,2\}$ 是唯一一种分法(交换集合位置被认为是同一种划分方案,因此不会增加划分方案总数)
如果 $n=7$,有四种方法能划分集合 $\{1,2,3,4,5,6,7 \}$,每一种分法的子集合各数字和是相等的:

$\{1,6,7\}$ 和 $\{2,3,4,5\}$
$\{2,5,7\}$ 和 $\{1,3,4,6\}$
$\{3,4,7\}$ 和 $\{1,2,5,6\}$
$\{1,2,4,7\}$ 和 $\{3,5,6\}$

给出 $n$,你的程序应该输出划分方案总数。

输入格式

输入文件只有一行,且只有一个整数 $n$

输出格式

输出划分方案总数。

输入输出样例

输入 #1
7
输出 #1
4

说明/提示

【数据范围】
对于 $100\%$ 的数据,$1\le n \le 39$。
上一题 去做题 下一题