第二类斯特林数
内存限制: 256 MiB
时间限制: 1000 ms
标准输入输出
题目类型: 传统
评测方式: 文本比较
题目描述
第二类斯特林数(斯特林子集数) 表示将 n 个两两不同的元素,划分为 k 个非空子集的方案数。
现在,给定 n 和 k,请你求方案数。
输入格式
两个整数 n 和 k 。
输出格式
输出一个整数表示划分方案数。
答案对 10 的 9 次方 + 7 取模。
复制3 2
复制3
数据范围与提示
1 <= k <= n <= 1000
#include <bits/stdc++.h>
using namespace std;
int n, k;
int m = 1e9 + 7;
long long a[1005][1005];
int main() {
scanf("%d %d", &n, &k);
a[1][1] = 1;
for(int i = 2; i <= n; i ++) {
for(int j = 1; j <= i; j++) {
a[i][j] = (a[i - 1][j - 1] % m + j * a[i - 1][j] % m) % m;
}
}
printf("%lld", a[n][k]);
return 0;
}