#P12963. [AGC022F] Checkers

    ID: 12147 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2700动态规划组合数学数学构造计数DP树形DP多项式

[AGC022F] Checkers

题目描述

X=10100X = 10^{100}。Inaba 在数轴上放置了 NN 个棋子,第 ii 个棋子位于坐标 XiX^i

每经过 11 秒,Inaba 可以选择两个棋子 AABB,将 AA 移动到关于 BB 对称的位置,然后移除 BB(即使 AABB 在同一位置也可以,AA 移动后与其他棋子重合也没有关系)。

经过 N1N-1 秒后,只剩下一个棋子。请问最后剩下的棋子可能出现的位置有多少种?请输出这个数对 109+710^9+7 取模的结果。

输入格式

输入从标准输入读取,格式如下:

NN

输出格式

输出最后剩下的棋子可能出现的位置数,对 109+710^9+7 取模。

输入输出样例 #1

输入 #1

3

输出 #1

12

输入输出样例 #2

输入 #2

4

输出 #2

84

输入输出样例 #3

输入 #3

22

输出 #3

487772376

说明/提示

限制条件

  • 1N501 \leq N \leq 50
  • NN 是整数。

样例解释 1

33 个棋子,分别位于 10100, 10200, 1030010^{100},\ 10^{200},\ 10^{300}。我们称它们为 AABBCC。以下是 1212 种可能的移动方式中的两种:

  • 11 秒让 AA 跳过 BB,第 22 秒让 AA 跳过 CC。此时 AA 的最终位置为 2×103002×10200+101002 \times 10^{300} - 2 \times 10^{200} + 10^{100}
  • 11 秒让 CC 跳过 AA,第 22 秒让 BB 跳过 CC。此时 BB 的最终位置为 2×1030010200+4×10100-2 \times 10^{300} - 10^{200} + 4 \times 10^{100}

棋子的移动方式共有 3×2×2=123 \times 2 \times 2 = 12 种,并且每种情况下最后的棋子都在不同的位置。

样例解释 3

不要忘记输出答案对 109+710^9+7 取模。