第二次排位赛

    技术2022-05-14  14

    第一题http://202.197.224.59/OnlineJudge2/index.php/Problem/index/p/6/

    简单DFS,DP也可以做^

    #include<iostream> using namespace std; char s[20]; int dp[20][20]; int main() { int i,j; while(cin>>s) { //puts(s); memset(dp,0,sizeof(dp)); dp[0][1]=1; for(i=1;s[i-1]!='/0';i++) for(j=1;j<=i+1;j++) { if(s[i-1]=='(')dp[i][j]=dp[i-1][j-1]; else if(s[i-1]==')')dp[i][j]=dp[i-1][j+1]; else if(s[i-1]=='?')dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1]; //cout<<dp[i][j]<<" "; } cout<<dp[strlen(s)][1]<<endl; } return 0; }


    最新回复(0)