genel bakış
Bu zorlukta, göreviniz rastgele iki set arasında monotonik bir matematiksel fonksiyon oluşturmaktır .
Giriş
Girişleriniz iki pozitif tamsayıdır s
ve n
.
Bu girdileri aldıktan sonra, programınız setten ' e rastgele bir matematiksel fonksiyon üretecektir . Başka bir deyişle, ve arasında bir tamsayı dizisi alan ve böyle bir tamsayıyı döndüren bir "kural" dır . Ayrıca, aşağıdaki anlamda monotonik olmalıdır . Eğer ve her iki koordinat için geçerli olan iki grup ise , o zaman .f
{0,1,...,s-1}n
{0,1,...,s-1}
f
n
0
s-1
f
A
B
n
A[i] ≥ B[i]
i
f(A) ≥ f(B)
Monotonik fonksiyonların kesin dağılımı, bu fonksiyonların f
her birinin pozitif bir üretilme olasılığı olduğu sürece (mükemmel bir RNG olduğu varsayılarak) önemli değildir.
Çıktı
Çıktınız, girdilerinin ve çıktılarının bir numaralandırması olacaktır f
. Tüm ihtiva eder n
arasındaki tamsayılar -tuples 0
ve s-1
her biri karşılık gelen çıkış takip eder, bazı sırayla f
. Tam çıkış formatı esnektir (akıl içinde).
Örnekler
Girdiler s = 3
ve n = 2
çıktı üretebilir
(0, 0) 0
(0, 1) 1
(0, 2) 2
(1, 0) 0
(1, 1) 1
(1, 2) 2
(2, 0) 1
(2, 1) 1
(2, 2) 2
Set üzerindeki tüm çiftleri {0, 1, 2}
tam olarak bir kez içerir ve her birini f
-değer ile takip eder . Monotonite koşulu da yerine getirilmiştir. Tupler burada sözlükbilimsel sırayla verilir, ancak bu gerekli değildir.
Başka bir örnek olarak, s = 2
ve n = 4
kudreti üretmek
(0, 0, 0, 0) 0
(0, 0, 0, 1) 0
(0, 0, 1, 0) 0
(0, 0, 1, 1) 0
(0, 1, 0, 0) 1
(0, 1, 0, 1) 1
(0, 1, 1, 0) 1
(0, 1, 1, 1) 1
(1, 0, 0, 0) 0
(1, 0, 0, 1) 1
(1, 0, 1, 0) 0
(1, 0, 1, 1) 1
(1, 1, 0, 0) 1
(1, 1, 0, 1) 1
(1, 1, 1, 0) 1
(1, 1, 1, 1) 1
Aşağıdakiler s = 2
ve çıkışlar için olası tüm çıktılar n = 2
; programınız bunlardan birini rastgele çıkarmalıdır:
(0,0) 0
(0,1) 0
(1,0) 0
(1,1) 0
-------
(0,0) 0
(0,1) 0
(1,0) 0
(1,1) 1
-------
(0,0) 0
(0,1) 0
(1,0) 1
(1,1) 1
-------
(0,0) 0
(0,1) 1
(1,0) 0
(1,1) 1
-------
(0,0) 0
(0,1) 1
(1,0) 1
(1,1) 1
-------
(0,0) 1
(0,1) 1
(1,0) 1
(1,1) 1
Kurallar ve Puanlama
Tam bir program veya işlev yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez. Açıklamalı kod tercih edilir.
Zaman karmaşıklığı konusunda herhangi bir kısıtlama yoktur, ancak çözümünüzün her zaman belirli bir sürede bitmesi garanti edilirse % -15 bonus vereceğim (girişlere bağlı olarak ve sabit zamanda çalışan mükemmel bir RNG varsayarak) .