题目:
思路:
我们考虑一下,这道题有哪几个因素能够确定一个状态?
——栈外元素数与栈内元素数
为什么?
——栈外的元素数可以说明一个维度,栈内的元素可以说明另一个维度
怎样转移?
——两种情况:出或不出
出,栈外元素数不变,栈内元素减一
不出,栈外元素减一,栈内元素加一
加在一起就是了
代码:
#include<bits/stdc++.h> using namespace std; int n; int f[20]; int main() { scanf("%d",&n); f[0]=1; f[1]=1; for(int i=2;i<=n;i++) for(int j=0;j<i;j++) f[i]+=f[j]*f[i-j-1]; printf("%d",f[n]); return 0; }