İlham (açıklama çalınan ile) , bu
Arka fon
İki listeniz A = [a_1, a_2, ..., a_n]
ve B = [b_1, b_2, ..., b_n]
tamsayılarınız olduğunu varsayalım. Biz demek A
olduğunu potansiyel-bölünebilir tarafından B
varsa bir permütasyon B
yapar a_i
bölünebilir b_i
herkes için i
. O zaman sorun şudur: sipariülerde (yani permute) mümkündür B
, böylece a_i
bölünemeyen b_i
herkes için i
? Örneğin,
A = [6, 12, 8]
B = [3, 4, 6]
Sonra cevap olurdu True
gibi B
olmak için, yeniden düzenlenmesi olabilir B = [3, 6, 4]
ve o zaman o olurdu a_1 / b_1 = 2
, a_2 / b_2 = 2
ve a_3 / b_3 = 2
tamsayılar bunların tümü, bu nedenle, A
tarafından potansiyel-bölünebilir B
.
Çıktı vermesi gereken bir örnek olarak False
:
A = [10, 12, 6, 5, 21, 25]
B = [2, 7, 5, 3, 12, 3]
Bunun nedeni , 25 ve 5'in olduğu gibi False
yeniden sıralayamamamızdır , ancak içindeki tek bölen 5 olacaktır, bu yüzden biri dışarıda bırakılacaktır.B
A
B
Senin görevin
Sizin göreviniz, açıkça, iki listenin (girdi olarak verilir) potansiyel olarak bölünebilir olup olmadığını belirlemektir. Çıktıda olduğu gibi girdiyi kabul edilen herhangi bir şekilde alabilirsiniz.
Listelerdeki kopyalar bir olasılıktır ve tamsayılardaki tek boyut kısıtlamaları sizin dilinizdir. Her iki listedeki tüm tamsayılar 0'dan büyük olacak ve her iki liste de eşit boyutta olacaktır.
Tüm karar problemlerinde olduğu gibi , çıktı değerleri doğru ve yanlışı temsil eden 2 ayrı değer olmalıdır.
Bu bir kod golf kadar kısa kod kazanır!
Test senaryoları
Input, input => output
[6, 12, 8], [3, 4, 6] => True
[10, 5, 7], [1, 5, 100] => False
[14, 10053, 6, 9] [1,1,1,1] => True
[12] [7] => False
[0, 6, 19, 1, 3] [2, 3, 4, 5, 6] => undefined