Giới thiệu
Chúng ta hãy định nghĩa một hàm ternary là một hàm từ bộ ba phần tử thành S = {0,1,2}
chính nó: nó liên kết với từng phần tử của S
phần tử khác S
. Một ví dụ về chức năng ternary f
là
f(0) = 0; f(1) = 2; f(2) = 0
Có chính xác 27 hàm ternary khác nhau và chúng tôi biểu diễn chúng với các số nguyên từ 0 đến 26: một hàm f
được mã hóa thành f(0) + 3*f(1) + 9*f(2)
. Hàm ví dụ trên được mã hóa là số 6.
Chúng ta có thể áp dụng hai hàm ternary f
và g
theo thứ tự, và nếu f(g(k)) == g(f(k))
giữ cho tất cả k
trong S
, thì các hàm sẽ đi lại . Nhiệm vụ của bạn là xác minh xem đây có phải là trường hợp không.
Đầu vào
Đầu vào của bạn là hai số nguyên trong phạm vi bao gồm từ 0 đến 26. Chúng đại diện cho hai hàm ternary f
và g
. Đầu vào phải được thực hiện ở định dạng thập phân, nhị phân hoặc đơn nguyên (chuỗi 1
s).
Đầu ra
Đầu ra của bạn là một giá trị trung thực nếu f
và g
đi lại, và giá trị chim ưng nếu chúng không. Bạn có thể không cho rằng các đầu vào được đặt hàng.
Ví dụ
Hãy xem xét các đầu vào 5 và 16. Chúng mã hóa các hàm ternary
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Chúng tôi có f(g(1)) == f(2) == 0
và g(f(1)) == g(1) == 2
, vì vậy f
và g
không đi làm và đầu ra chính xác là falsey.
Mặt khác, đầu vào 3 và 10 mã hóa các chức năng ternary
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
và nó có thể được xác nhận f(g(k)) == g(f(k))
giữ cho tất cả k
trong S
. Sau đó, đầu ra chính xác là trung thực.
Dưới đây là bảng 27 × 27 của tất cả các đầu vào có thể, với việc +
đánh dấu đầu ra trung thực và -
đầu ra falsey:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.