-
void recursion(char** arr,char* s,int cur,int cnt,int num,int n,int* returnSize){ if (cur == n*2){ arr[(*returnSize)] = (char*)calloc(n*2 + 1, sizeof(char)); strcat(arr[(*returnSize)++], s); return; } for (int i = 0; i < 2; i++){ if(num==0 && i==1 || num==n && i==0 || cnt==n && i==0 || cnt==0 && i==1) continue; s[cur] = (i)?')' :'('; recursion(arr, s, cur+1, (i)?cnt-1 :cnt+1, (i==0)?num+1 :num, n, returnSize); s[cur] = '