#include #include #include using namespace std; // int rec(char* brac, int max){ // if (max==0){return 1;} // int obrac=0,cbrac=0, lSum=0, rSum=0; // for (int i = 0; i < max; i++) // { // if (brac[i] == '('){ // if (brac[i+1] == ')') // lSum++; // obrac++; // } // else{ // if (brac[i+1] == ')') // { // lSum++; // } // cbrac++; // } // if (cbrac == obrac && cbrac != 0){ // int newMax = max -obrac-cbrac; // char buf[newMax]; // for (int i = 0; i < newMax; i++) // { // buf[i] = brac[max-newMax+i]; // } // rSum = rec(buf,newMax); // break; // } // } // return lSum*rSum; // } int rec(char* buf, int *i, int max){ int sum = 0; while (*i < max) { //cout << buf[*i]<> numBrackets; char* brackets; scanf("%ms", &brackets); //printf("%s\n", brackets); int i = 0; sum = rec(brackets, &i, numBrackets); //sum = rec(brackets, numBrackets); //vector new_brackets; // for (int i = 0; i < numBrackets-1; i++){ // //printf("%c%c\n", brackets[i], brackets[i+1]); // if (brackets[i] == '(' && brackets[i+1] == ')'){ // sum++; // } else if (brackets[i] == ')' && brackets[i+1] == ')'){ // sum++; // } // } printf("%d\n", sum); free(brackets); return 0; }