含多个递推公式
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n,m,dp[40][40];
memset(dp,0,sizeof(dp));
dp[1][0]=1;
cin>>n>>m;
for(int k=1;k<=m;k++){
dp[1][k]=dp[2][k-1]+dp[n][k-1];//需要特判
dp[n][k]=dp[1][k-1]+dp[n-1][k-1];
for(int j=2;j<=n-1;j++){
dp[j][k]=dp[j+1][k-1]+dp[j-1][k-1];
}
//dp[1][k]=dp[2][k-1]+dp[n][k-1];//写这里也可以
//dp[n][k]=dp[1][k-1]+dp[n-1][k-1];
}
cout<<dp[1][m]<<endl;
return 0;
}