在这段代码中,clock()函数返回程序
2024-11-02 08:59:42
发布于:广东
2阅读
0回复
0点赞
#include <iostream>
#include <vector>
// 计算Stirling数(第二类)的函数
int stirlingNumber(int n, int r) {
// 创建一个二维数组来存储中间结果
stdvector<stdvector<long long>> dp(n + 1, std::vector<long long>(r + 1, 0));
// 初始化第一行和第一列
for (int i = 0; i <= n; ++i) {
dp[i][0] = (i == 0); // S(i,0) = 0 for i > 0, S(0,0) = 1
dp[0][i] = 0; // S(0,i) = 0 for i > 0
}
// 填充dp数组
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= std::min(i, r); ++j) {
dp[i][j] = j * dp[i - 1][j] + dp[i - 1][j - 1];
}
}
// 返回S(n,r)并对10007取模
return dp[n][r] % 10007;
}
int main() {
int n, r;
std::cin >> n >> r; // 读取输入
// 输出结果
std::cout << stirlingNumber(n, r) << std::endl;
return 0;
}
这里空空如也
有帮助,赞一个