Единый отборочный турнир - количество возможных комбинаций - PullRequest
2 голосов
/ 11 февраля 2010

Сколько комбинаций играют 8 человек, участвующих в одном турнире на выбывание? Общее количество сыгранных матчей составило бы 7, но мне также нужно количество комбинаций, которые могут быть использованы для этого набора

Ответы [ 3 ]

4 голосов
/ 16 февраля 2010

Если не имеет значения, где в дереве стартует игрок, а только с какими противниками он / она сражается и сколько времени он / она получает, мы можем сказать, что левый игрок всегда выигрывает, а затем просто вычислить количество способов создать самый нижний ряд, который составляет 8! 40320.

Первая возможность:

       a
   a       e
 a   c   e   g
a b c d e f g h

Вторая возможность:

       a
   a       e
 a   c   e   h
a b c d e f h g
3 голосов
/ 11 февраля 2010

Есть (8 * 7) / 2 комбинации = 28 [другими словами, 8! / (2! * (8-2)!)]

С помощью Set :: Partition в Perl я могу написать:

my $s = Set::Partition->new(
    list      => ['a'..'h'],
    partition => [2, 6],
);

while (my $p = $s->next) {
    print join( ' ', map { "[@$_]" } @$p ), $/;
}

, что дает

[a b] [c d e f g h]
[a c] [b d e f g h]
[a d] [b c e f g h]
[a e] [b c d f g h]
[a f] [b c d e g h]
[a g] [b c d e f h]
[a h] [b c d e f g]
[b c] [a d e f g h]
[b d] [a c e f g h]
[b e] [a c d f g h]
[b f] [a c d e g h]
[b g] [a c d e f h]
[b h] [a c d e f g]
[c d] [a b e f g h]
[c e] [a b d f g h]
[c f] [a b d e g h]
[c g] [a b d e f h]
[c h] [a b d e f g]
[d e] [a b c f g h]
[d f] [a b c e g h]
[d g] [a b c e f h]
[d h] [a b c e f g]
[e f] [a b c d g h]
[e g] [a b c d f h]
[e h] [a b c d f g]
[f g] [a b c d e h]
[f h] [a b c d e g]
[g h] [a b c d e f]

, которую вы можете интерпретировать двумя игроками, а шесть других стоят вокруг, подбадривая и выпивая пиво.

1 голос
/ 11 февраля 2010

Если вы имеете в виду, сколько возможных матчей для 2 игроков в пуле из 8 игроков, тогда ответ будет 28 (8x7 / 2). Если вы имеете в виду что-то еще, то проясните свой вопрос немного.

...