#P1118. 排列计数

    ID: 153 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>搜索枚举2006USACO深度优先搜索 DFS

排列计数

题目描述

有一个算数游戏,规则如下:

  • 首先将数字从 11n(1n12)n(1 \le n \le 12) 按某种顺序写下来
  • 然后将相邻的数字相加,得到一个数字更少的新列表
  • 不断重复这个过程,直到只剩下一个数字

例如,游戏的一种情况(当 n=4n=4 时)可能是这样的:

3   1   2   4
  4   3   6
    7   9
     16

现在告诉你 nn 和最后的数字和 mm,请你确定有多少个 1n1 \sim n 的排列可以得到最终的数字和 mm

输入格式

共一行两个正整数 n,mn,m

输出格式

输出包括一行,为字典序最小的那个答案。

4 16
3 1 2 4

数据范围与提示

【样例 1 解释】

  • 大家不妨设原排列是 [a,b,c,d][a, b, c, d]
  • 尝试把最终的和用 a,b,c,da, b, c, d 表示出来

【数据范围】

  • 对于 40%40\% 的数据,1n71\le n\le 7
  • 对于 80%80\% 的数据,1n101\le n \le 10
  • 对于 100%100\% 的数据,1n121\le n \le 121m123451\le m \le 12345