以下是我的代码,不知道为什么显示答案错误
#include<iostream>
using namespace std;
//m表示等待进栈元素个数,n表示栈中元素个数。
int sta(int m,int n){
if(m==0&&n==0)return 1;
else if(m>0&&n>0)return sta(m-1,n+1)+sta(m,n-1);//既出栈又进栈
else if(m>0&&n==0)return sta(m-1,n+1);//只进栈不出栈
else if(m==0)return sta(m,n-1);//只出栈不进栈
}
int main(){
//freopen("d:\\aaa\\test.txt","r",stdin);
int m;
cin>>m;
//初始条件是有m个元素等待进栈,栈中有0个元素.
cout<<sta(m,0);
return 0;
}