Introdução
Vamos definir uma função ternária como uma função do conjunto de três elementos S = {0,1,2}: ela se associa a cada elemento de Soutro elemento de S. Um exemplo de função ternária fé
f(0) = 0; f(1) = 2; f(2) = 0
Existem exatamente 27 funções ternárias diferentes, e as representamos com números inteiros de 0 a 26: uma função fé codificada como f(0) + 3*f(1) + 9*f(2). A função de exemplo acima é codificada como o número 6.
Podemos aplicar duas funções ternários fe gem seqüência, e se f(g(k)) == g(f(k))detém para todos kem S, em seguida, as funções comutar . Sua tarefa é verificar se esse é o caso.
Entrada
Suas entradas são dois números inteiros no intervalo inclusivo de 0 a 26. Eles representam duas funções ternárias fe g. A entrada deve ser feita no formato decimal, binário ou unário (sequência de 1s).
Saída
Sua saída é um valor verdadeiro se fe gcomutar, e um valor falsey se não o fizerem. Você não pode assumir que as entradas estão ordenadas.
Exemplos
Considere as entradas 5 e 16. Eles codificam as funções ternárias
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Nós temos f(g(1)) == f(2) == 0e g(f(1)) == g(1) == 2, por isso, fe gnão comutar e a saída correta é Falsey.
Por outro lado, as entradas 3 e 10 codificam as funções ternárias
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
e pode-se verificar que f(g(k)) == g(f(k))vale para todo kem S. Então a saída correta é verdadeira.
Aqui está a tabela 27 × 27 de todas as entradas possíveis, com a +marcação de uma saída -verdadeira e uma saída falsey:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Regras e pontuação
Você pode escrever um programa completo ou uma função. A contagem de bytes mais baixa vence e as brechas padrão não são permitidas.