public static int CountDistinctString(string s, char c)
int matchingCharCount = 0;
int remainPos = s.Length + 1;
for (int i = 0; i < s.Length; i++)
if (matchingCharCount > 0)
result *= (matchingCharCount + 2);
remainPos -= (matchingCharCount + 1);
if (matchingCharCount > 0)
result *= (matchingCharCount + 2);
remainPos -= (matchingCharCount + 1);
result *= (int)Math.Pow(2, remainPos);
public static void Main(string[] args)
Console.WriteLine(CountDistinctString("AB", 'C'));
Console.WriteLine(CountDistinctString("AA", 'A'));