introduction
Définissons une fonction ternaire comme une fonction de l'ensemble de trois éléments S = {0,1,2}à elle-même: elle s'associe à chaque élément d' Sun autre élément de S. Un exemple de fonction ternaire fest
f(0) = 0; f(1) = 2; f(2) = 0
Il existe exactement 27 fonctions ternaires différentes, et nous les représentons avec des entiers de 0 à 26: une fonction fest codée comme f(0) + 3*f(1) + 9*f(2). L'exemple de fonction ci-dessus est codé comme le numéro 6.
Nous pouvons appliquer deux fonctions ternaires fet gdans l' ordre, et si f(g(k)) == g(f(k))valable pour tous kdans S, les fonctions commuer . Votre tâche consiste à vérifier si tel est le cas.
Contribution
Vos entrées sont deux entiers compris entre 0 et 26. Ils représentent deux fonctions ternaires fet g. L'entrée doit être prise au 1format décimal, binaire ou unaire (chaîne de s).
Sortie
Votre sortie est une valeur véridique si fet faites lag navette, et une valeur falsey si ce n'est pas le cas. Vous ne pouvez pas supposer que les entrées sont ordonnées.
Exemples
Considérez les entrées 5 et 16. Elles codent les fonctions ternaires
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Nous avons f(g(1)) == f(2) == 0et g(f(1)) == g(1) == 2, donc fet gne pas faire la navette et la sortie correcte est falsey.
En revanche, les entrées 3 et 10 codent les fonctions ternaires
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
et il peut être vérifié que f(g(k)) == g(f(k))détient pour tous kdans S. Ensuite, la sortie correcte est véridique.
Voici le tableau 27 × 27 de toutes les entrées possibles, avec +marquage d'une sortie véridique et d' -une sortie falsey:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Règles et notation
Vous pouvez écrire un programme complet ou une fonction. Le nombre d'octets le plus bas l'emporte et les failles standard sont interdites.