Вопрос в следующем:
Мне дано Количество красных шаров и B количество синих шаров.
Найдите количество расположений шаров, в которых не более K шаров изодин и тот же цвет расположен рядом друг с другом.
Я думаю о перечислении всех возможных перестановок. Затем из всех этих перестановок найдите те, которые имеют K или более шариков одного цвета рядом друг с другом. Затем сделайте вычитание между двумя, чтобы получить ответ. Но это занимает слишком много времени, чтобы бежать. Как мне решить это?
*Test Cases (in order of A,B,K):*
(1,1,1) should return me 2 -> Red Blue, Blue Red
(2,1,1) should return me 1 -> Red Blue Red
def function(A, B, K):
Sum = A+B
factSum = 1
factA = 1
factB = 1
for i in range(1,Sum+1):
factSum = factSum * i
for i in range(1,M+1):
factM = factM * i
for i in range(1,N+1):
factM = factN * i
TotalPermutations = factSum//(factM*factN)
#Now i am stuck with how to get the number of permutations with K or more balls of same colour next to each other