#include<bits/stdc++.h>
using namespace std;
/*如果有i个数在中间选取一个数设为j那么就讲这些数分成了比i大和比i小
两个区间的数讲前后两段数的可能性相乘就得到了j个数的可能性
*/
int main(){
long long n,f[20]={1,1,2};
cin>>n;
for(int i=3;i<=n;i++){
for(int k=1;k<=i;k++){
f[i]+=f[k-1]*f[i-k];
}
}
cout<<f[n];
return 0;
}
1044用dp去模拟栈
最新推荐文章于 2024-11-16 13:27:03 发布
文章介绍了如何使用C++编程语言中的动态规划方法来计算从n个数中随机选取j个数的概率,通过递归计算组合数并输出结果。
摘要由CSDN通过智能技术生成