Рассмотрим вызовы вида series n (n / 2)
и рассмотрим случаи, когда все игры были Draw
или Loss
.При этих ограничениях количество ответов пропорционально 2^n/sqrt(n)
.(Ребята онлайн получают это от приближения Стирлинга.)
Это не включает серию, где кто-нибудь выигрывает игру.Таким образом, фактические списки результатов в целом будут длиннее.
Я заключаю, что число возможных ответов гигантское, и, следовательно, ваши реальные дела будут небольшими.
Если вашреальные случаи невелики, при использовании подхода грубой силы проблем быть не может.
Вопреки вашему утверждению, код грубой силы обычно довольно короткий и простой для понимания.
Вы можетелегко написать функцию для перечисления всех возможных последовательностей длиной n
, взятых из Win, Lose, Draw
.Затем вы можете отфильтровать их для правильной суммы.Асимптотически это, вероятно, лишь немного хуже, чем самый быстрый алгоритм, из-за почти экспоненциального поведения, описанного выше.