#include #include #include #include #define DEFAULT_MALLOC_SIZE 20 #define WRONG_INPUT_FORMAT 100 int main(int argc, char **argv) { int input_num; char *input_string = (char *)malloc(DEFAULT_MALLOC_SIZE * sizeof(char)); if (scanf("%d\n%s", &input_num, input_string) != 2) { exit(WRONG_INPUT_FORMAT); } char output_string[strlen(input_string) * 2]; int num_of_cookies = 0; int output_string_idx = 0; for (int i = 0; i < strlen(input_string); ++i) { if (input_string[i] == '(') { output_string[output_string_idx] = input_string[i]; output_string_idx++; if (input_string[i + 1] == ')') { output_string[output_string_idx] = '1'; output_string_idx++; output_string[output_string_idx] = input_string[i + 1]; output_string_idx++; } } if (input_string[i] == ')') { if (input_string[i + 1] == ')') { output_string[output_string_idx] = input_string[i + 1]; output_string_idx++; output_string[output_string_idx] = '+'; output_string_idx++; output_string[output_string_idx] = '1'; output_string_idx++; } if (input_string[i + 1] == '(') { output_string[output_string_idx] = '+'; output_string_idx++; output_string[output_string_idx] = input_string[i + 1]; output_string_idx++; } } } int i = 0; while (output_string[i] != '\0') { if (output_string[i] == '1') { num_of_cookies++; } i++; } printf("%d\n", num_of_cookies); return 0; }