Найдите количество композиций, в которых не более N шариков одного цвета расположены рядом друг с другом - PullRequest
0 голосов
/ 07 ноября 2019

Вопрос в следующем:

Мне дано Количество красных шаров и 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...