Count of strings that can be formed using a, b and c under given constraints
Given a length n, count the number of strings of length n that can be made using a, b and c with at-most one b and two cs allowed
Example:
Input:
n=1
Output:
3
Possible strings are:
"a", "b", "c"
Input:
n=2
Output:
8
Possible strings are:
"aa", "ab", "ac", "ba", "ca", "bc", "cb", "cc"
String alphabets are only {a, b, c}
Length of string is n. (n>0)
Let's consider what can be the possible cases
Count of such string is: 1
Count of such string is: (n/1)=n
One 'b' can be placed at any of n positions, that's why n number of such strings
Count of such string (n/2)*2=n*(n-1)
One 'b' and one 'c' can take any of two places out of n and any of 'b' & 'c' can comes first.
Count of such string (n/3)*3=n*(n-1)*(n-2)/2
One 'b' and two 'c' can take any of three places out of n and there are 3 combinations possible between one 'b' & two 'c'.
Count of such string (n/2)=n*(n-1)/2
Two 'c' can take any two of n places.
Count of such string (n/1)=n
One 'c' can take any of one places out of n.
Example with explanation
Let n=2 Case 1: String is only built with 'a', i.e., n 'a' forms the string "aa" Total under this category: 1 Case 2: String built with one 'b' & n-1 'a' "ab" "ba" Total under this category: 2//(n) Case 3: String built with one 'b', one 'c' and (n-2) 'a' "bc" "cb" Total under this category: 2//(n*(n-1)) Case 4: String built with one 'b', two 'c' and (n-3) 'a' No string in this category Total under this category: 0 Case 5: String built with two 'c' and (n-2) 'a' "cc" Total under this category: 1//(n*(n-1)/2) Case 6: String built with one 'c' and (n-1) 'a' "ac" "ca" Total under this category: 2//(n) Total no of strings possible: 1+2+2+0+1+2=8C++ implementation
Output
need an explanation for this answer? contact us directly to get an explanation for this answer