Giriş
Üçlü bir işlevi, üç elemanlı kümeden S = {0,1,2}
kendisine bir fonksiyon olarak tanımlayalım : S
başka bir elemanın her elemanına bağlanır S
. Üçlü fonksiyonun bir f
örneği
f(0) = 0; f(1) = 2; f(2) = 0
Tam olarak 27 farklı üçlü fonksiyon vardır ve bunları 0 - 26 arasında tamsayılarla temsil ederiz: bir fonksiyon f
olarak kodlanır f(0) + 3*f(1) + 9*f(2)
. Yukarıdaki örnek fonksiyon 6 sayısı olarak kodlanmıştır.
Biz iki üçlü fonksiyonları uygulayabilir f
ve g
sırayla ve eğer f(g(k)) == g(f(k))
herkes için geçerlidir k
in S
ardından işlevleri gidip . Göreviniz bunun böyle olup olmadığını doğrulamak.
Giriş
Girişleriniz, 0 ile 26 arasındaki kapsamlı aralıktaki iki tamsayıdır. İki üçlü işlevi f
ve g
. Giriş ondalık, ikili ya da tekli ( 1
s dizesi ) biçiminde alınmalıdır .
Çıktı
Çıktınız eğer f
ve g
gidip gelirse , ve eğer olmazsa bir falsey değeridir . Girişlerin sıralandığını varsaymayabilirsiniz.
Örnekler
5 ve 16 girişlerini dikkate alınız. Üçlü fonksiyonları kodlarlar.
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Biz f(g(1)) == f(2) == 0
ve g(f(1)) == g(1) == 2
bu yüzden f
ve g
gidip yok ve doğru çıkış Falsey olduğunu.
Öte yandan, 3 ve 10 girişleri üçlü fonksiyonları kodlamaktadır
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
ve doğrulanabilir f(g(k)) == g(f(k))
herkes için geçerlidir k
in S
. O zaman doğru çıktı doğrudur.
Burada, olası bir girişin 27 × 27 tablosu, +
bir truthy çıkışı ve falsey çıkışı işaretlenir -
:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Kurallar ve puanlama
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez.