1826. Is Stirling II ?

单点时限: 2.0 sec

内存限制: 256 MB

把 n 各事物的集合划分成 k 个非空子集的方式数 , 比如{1,2,3,4}划分 2 个非空子集 , 我们可以得到 7 种划分方式 :{1,2,3}U{4};{1,2,4}U{3};{1,3,4}U{2};{2,3,4}U{1};{1,2}U{3,4};{1,3}U{2,4};{1,4}U{2,3}. 相信大家一看就知道这个怎么做吧 , 因为这就是著名的 Striling 数 .

但是今天的问题却是 , 计算 n 个元素安排城 k 个轮换 (而不是子集) 的方式数 . 轮换是循环排列 , 也就是 [A,B,C,D]=[B,C,D,A]=[C,D,A,B]=[D,A,B,C]; 而另一方面轮换 [A,B,C,D] 不同于 [A,B,D,C] 或 [D,C,B,A]. 那么比如给定四个元素 [1,2,3,4] 我们可以得到 11 种不同方式形成 2 个轮换 :[1,2,3][4];[1,2,4][3];[1,3,4][2];[2,3,4][1];

[1,3,2][4];[1,4,2][3];[1,4,3][2];[2,4,3][1];

[1,2][3,4];[1,3][2,4];[1,4][2,3]

现在给出 n 个元素 , 求出 k 个非空的轮换数

输入格式

输入两个数 n,k, 表示有 n 个元素分成 k 个非空轮换数 (1<=k<=n<=500);

输出格式

输出一个数表示轮换个数 . 由于该数可能很大 , 请 mod 2007. 处理到文件结尾

样例

Input
1 1
100 20
Output
1
117

10 人解决,16 人已尝试。

10 份提交通过,共有 17 份提交。

5.7 EMB 奖励。

创建: 16 年,8 月前.

修改: 6 年,10 月前.

最后提交: 5 年,12 月前.

来源: partychen

题目标签