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 Sphần tử khác S. Một ví dụ về chức năng ternary flà
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 fvà gtheo thứ tự, và nếu f(g(k)) == g(f(k))giữ cho tất cả ktrong 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 fvà 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 1s).
Đầu ra
Đầu ra của bạn là một giá trị trung thực nếu fvà 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) == 0và g(f(1)) == g(1) == 2, vì vậy fvà gkhô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ả ktrong 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.