Dados não-transitivos são pequenos brinquedos que desafiam nossa intuição na teoria das probabilidades. Precisamos de algumas definições para este desafio:
Considere dois dados A e B que são lançados ao mesmo tempo. Dizemos que um bate B se a probabilidade de A mostrando um número maior do que B é estritamente maior do que a probabilidade de B mostrando um número maior do que um .
Agora, considere um conjunto de três dados, com rótulos A , B , C . Esse conjunto de dados é chamado de não-transitivo se
- ou A vence B , B vence C e C vence A
- ou C bate B , B bate Um e um bate C .
Como um dos meus exemplos favoritos, considere os dados do Grime , que têm os seguintes lados:
A: 3 3 3 3 3 6
B: 2 2 2 5 5 5
C: 1 4 4 4 4 4
Curiosamente, a média de cada dado é 3,5, assim como um dado regular.
Pode-se mostrar que:
- A vence B com uma probabilidade de 7/12.
- B vence C com uma probabilidade de 7/12.
- C bate A com uma probabilidade de 25/36.
Agora, esses dados em particular são ainda mais estranhos. Se rolarmos cada dado duas vezes e somarmos os resultados, cuja ordem é melhor que a invertida:
- B vence A com uma probabilidade de 85/144.
- C bate B com uma probabilidade de 85/144.
- A bate C com uma probabilidade de 671/1296.
Vamos chamar um conjunto de dados com essa propriedade Grime-não-transitiva .
Por outro lado, se os dados mantêm seu ciclo original ao usar dois arremessos, os chamamos de fortemente não-transitivos . (Se não houver ciclo para dois lançamentos, simplesmente os chamamos de não - transitivos .)
O desafio
Dado três dados de seis lados, que determinam as propriedades acima Este conjunto tem, e uma das seguintes cadeias de saída: none
, nontransitive
, Grime-nontransitive
, strongly nontransitive
.
Você pode escrever um programa ou função, receber entrada via STDIN, argumento de linha de comando, prompt ou argumento de função e gravar o resultado em STDOUT ou retorná-lo como uma string.
Você pode assumir que todos os lados são números inteiros não negativos. Você não pode assumir que os lados ou os dados estão em uma ordem específica. Você pode receber entradas em qualquer lista conveniente ou formato de sequência.
Isso é código de golfe, então a resposta mais curta (em bytes) vence.
Casos de teste
none
1 2 3 4 5 6, 6 5 4 3 2 1, 1 3 5 2 4 6
1 1 1 6 6 6, 4 4 4 5 5 5, 5 5 5 5 5 5
1 1 2 5 6 6, 2 2 3 4 4 6, 2 3 3 4 4 5
0 1 2 3 4 5, 1 1 2 3 3 5, 1 2 2 2 3 5
3 13 5 7 13 7, 5 7 11 5 7 13, 5 9 13 5 7 9
nontransitive
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
1 4 4 4 4 4, 2 2 2 4 5 6, 2 3 3 3 5 5
1 2 1 6 5 6, 3 1 3 6 2 6, 2 4 2 4 4 5
3 4 6 6 7 7, 4 4 4 7 7 7, 5 5 5 5 6 7
2 5 11 11 14 14, 5 5 5 14 14 14, 8 8 8 8 8 17
Grime-nontransitive
3 3 3 3 3 6, 2 2 2 5 5 5, 1 4 4 4 4 4
1 1 4 5 5 5, 2 2 2 3 6 6, 3 3 3 4 4 4
2 1 4 6 4 4, 2 4 5 2 3 5, 3 3 6 3 3 3
11 11 13 15 15 16, 12 12 12 13 16 16, 13 13 13 14 14 14
4 4 7 16 19 19, 4 7 13 13 13 19, 4 10 10 10 16 19
strongly nontransitive
2 2 2 5 5 5, 2 3 3 3 5 5, 1 1 4 5 5 5
2 2 2 3 6 6, 2 2 2 5 5 5, 2 2 4 4 4 5
1 5 1 3 6 5, 6 6 4 2 2 1, 5 3 4 3 4 2
0 0 2 4 4 5, 0 1 1 3 5 5, 1 1 2 3 4 4
1 1 9 17 17 21, 1 5 5 13 21 21, 5 5 13 13 13 17
Se você quiser testar seu código ainda mais detalhadamente, Peter Taylor teve a gentileza de escrever uma implementação de referência, que classificou todos os ~ 5000 conjuntos de dados com os lados 1 a 6 e uma média de 3,5. Link Pastebin
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
Estou recebendo A <B 17/36, B> C 19/36, C <A 16/36.