İ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 Aolduğunu potansiyel-bölünebilir tarafından Bvarsa bir permütasyon Byapar a_ibölünebilir b_iherkes için i. O zaman sorun şudur: sipariülerde (yani permute) mümkündür B, böylece a_ibölünemeyen b_iherkes için i? Örneğin,
A = [6, 12, 8]
B = [3, 4, 6]
Sonra cevap olurdu Truegibi Bolmak için, yeniden düzenlenmesi olabilir B = [3, 6, 4]ve o zaman o olurdu a_1 / b_1 = 2, a_2 / b_2 = 2ve a_3 / b_3 = 2tamsayılar bunların tümü, bu nedenle, Atarafı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 Falseyeniden sıralayamamamızdır , ancak içindeki tek bölen 5 olacaktır, bu yüzden biri dışarıda bırakılacaktır.BAB
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