由1对括号,可以组成一种合法括号序列:()
由2对括号,可以组成两种合法括号序列:()() 、(())
由4对括号组成的合法括号序列一共有多少种?
输入括号对数
输出能组成的合法括号数
#include<iostream>
int sum=0;//统计方案数
void DFS(int n,int l)//待处理n为符号数,l为未匹配的左括号
{
if(n==0)
{
if(l==0)
sum++;
}
else if(l<0) return;
else
{
DFS(n-1,l+1);//选左括号
DFS(n-1,l-1);//选右括号
}
}
int main() {
int a;
std::cin>>a;
DFS(2*a,0);
std::cout<<sum;
return 0;
}