quinta-feira, 13 de agosto de 2026

Combinações de Quartas de Final

O recente sorteio das quartas de final da Copa do Brasil levantou suspeitas por juntar os clubes por proximidade.

Há 105 possíveis quartas de final (8!/(2!*2!*2!*2!*4!)), mas é mais divertido calcular na linha de comando com grep.

Primeiro, uso o código de combinações para calcular todos os enfrentamentos possíveis (são 28):



my @jogos=qw(AB AC BC AD BD CD AE BE CE DE AF BF CF DF EF AG 
             BG CG DG EG FG AH BH CH DH EH FH GH AB AC BC AD);
             

Depois, uso o mesmo código para encontrar todas as combinações de enfrentamentos, mas uso o grep para eliminar as combinações em que um time aparece mais de uma vez:



perl choose.pl  |  grep -Ev '(\S)(.*\1)'
DE CF BG AH 
CE DF BG AH 
CD EF BG AH 
DE BF CG AH 
BE DF CG AH 
BD EF CG AH 
...

A expressão -E "(\S)(.*\1)" procura por coisas diferentes de espaço que sejam repetidas ao menos uma vez e -v as elimina do resultado.

O resultado são 105 combinações de quartas de final e a combinação específica aparece apenas uma vez (claro):


perl choose.pl  |  grep -Ev '(\S)(.*\1)'  | grep "AB CD EF GH"
AB CD EF GH 

Dada a quantidade absurda de jogos a que os jogadores são submetidos no Brasil, organizar os campeonatos por proximidade, a fim de minimizar as viagens, seria uma medida interessante.

Nenhum comentário:

Postar um comentário