Hints required for logic formation

Please provide me with some reference to this question like video or examples regarding this question so that it would help me in logic formation.

Approach
1.It is quite obvious that we would only add opening brackets ‘(’ to string A and only closing brackets ‘)’ to string B
2.Since the number of open and close brackets must be equal, we can never generate a valid string if n is odd.
3.Count the total number of opening and closing brackets required to balanced the string. The opening brackets will go in string A and the closing brackets will go in string B.
4.We start from pos = 0 and go till pos = n - m + 1. At each instance we consider three possibilities.

if closingBrackets have not been implemented yet (close==0) and count of open brackets that we have implemented is more than required (open >= openBrackets) then, we implement the closing brackets required for string B and raise a flag for the same by marking close=1 also, change the open bracket count accordingly for this case
if we have some open brackets then, put a closing bracket to balance it and decrease open count to denote there is one less unbalanced open bracket now
add another opening bracket to the string so far. This bracket will be initially unbalanced.
5.We add the results obtained from the three possibilities. We store and return this result.
6.Continue the above process till pos < n-m+1.
7.At pos == n-m+1, we must ensure that all required opening and closing brackets have been implemented. We do so by checking the status of out flag variable close i.e. check close==1. Also make sure there are no pending unbalanced open brackets (open==0).

But you didn’t stated how to count the number number of combinations which would be the required answer

Please reply to the above queries

see this:

You have counted the no. of opening brackets and closing brackets but haven’t used that in the rest of the code , could u explain this i wasn’t able to understand this , please help me understand this.

Sorry mam that wasn’t what i intended to ask instead i want to ask what is the role of the array dp which you have created in the above program?