洛谷P1044 [NOIP2003 普及组] 栈
递归解
直接上代码(注释内容也可行,但消耗时间更高)
#include <bits/stdc++.h>
using namespace std;
int f[20][20];
int dfs(int i, int j)
{
if (f[i][j]) return f[i][j];
if (i == 0) return f[i][j] = 1;
if(j==0) return f[i][j]=dfs(i-1,j+1);
return f[i][j]=dfs(i-1,j+1)+dfs(i,j-1);
}
int main() {
int n;
scanf("%d",&n); //cin>>n;
printf("%d\n",dfs(n,0));//cout << dfs(n, 0) << endl;
return 0;
}