福州大学第八届程序设计竞赛 校赛的时候是用深搜做的,当时也没想到能做出来,还兴奋了下。(~ o ~)~zZ 今晚,灵子教我可以用DP解决。 好奇,就偷看了下他代码。 #include <iostream> using namespace std; int f[20][20],i,j,len; char ch[20]; int main() { while(scanf("%s",&ch)!=EOF) { memset(f,0,sizeof(f)); len=strlen(ch); f[0][1]=1; for(i=1;i<len;i++){ for(j=0;j<len;j++){ if(ch[i]=='(') f[i][j]=f[i-1][j-1]; else if(ch[i]==')') f[i][j]=f[i-1][j+1]; else f[i][j]=f[i-1][j-1]+f[i-1][j+1]; } } printf("%d/n",f[len-1][0]); } return 0; } 省时间。。。