dp (n^2)
#include "bits/stdc++.h" using namespace std; int n,f[35][35]; int dp(int i,int j){ if(f[i][j]!=-1) return f[i][j]; f[i][j]=0; if(i==0) return 1; if(i<0||j<0) return 0; return f[i][j]=dp(i-1,j+1)+dp(i,j-1); } int main(){ cin>>n; memset(f,-1,sizeof f); cout<<dp(n,0); }
数学(catalan数,待更