标签:dfs
#include<cstdio> #include<cstring> using namespace std; char s[20]; int len; int ans; void DFS(int i,int cnt)//cnt代表没配对的(的个数 { if(i==len&&cnt==0) { ans++; } if(cnt<0||i>=len) return; if(s[i]=='(') DFS(i+1,cnt+1); else if(s[i]==')') DFS(i+1,cnt-1); else { DFS(i+1,cnt+1); DFS(i+1,cnt-1); } } int main() { while(scanf("%s",s)==1) { len=strlen(s); ans=0; DFS(0,0); printf("%d\n",ans); } return 0; }
标签:dfs
原文地址:http://blog.csdn.net/xky1306102chenhong/article/details/45373263