प्रेरित होकर (विवरण से चोरी के साथ) इस
पृष्ठभूमि
मान लें कि आपके पास दो सूचियाँ A = [a_1, a_2, ..., a_n]और B = [b_1, b_2, ..., b_n]पूर्णांक हैं। हम कहते हैं Aकि संभावित रूप से विभाज्य है Bअगर वहाँ एक क्रमपरिवर्तन है Bजो सभी के लिए a_iविभाज्य बनाता है । तब समस्या यह है: क्या यह संभव है कि पुन: व्यवस्थित किया जाए (अर्थात परमिट) ताकि सभी के लिए विभाज्य हो ? उदाहरण के लिए, यदि आपके पास हैb_iiBa_ib_ii
A = [6, 12, 8]
B = [3, 4, 6]
तो जवाब होगा True, के रूप में Bहोने के लिए पुनर्क्रमित किया जा सकता है B = [3, 6, 4]और उसके बाद हम उस के लिए होता है a_1 / b_1 = 2, a_2 / b_2 = 2और a_3 / b_3 = 2, जो सभी के पूर्णांक हैं, तो Aद्वारा संभावित-विभाज्य है B।
एक उदाहरण के रूप में, जो आउटपुट होना चाहिए False, हमारे पास हो सकता है:
A = [10, 12, 6, 5, 21, 25]
B = [2, 7, 5, 3, 12, 3]
इसका कारण यह है Falseकि हम B25 और 5 के रूप में पुन: क्रमबद्ध नहीं कर सकते हैं A, लेकिन 5 में एकमात्र विभाजक Bहोगा, इसलिए एक को छोड़ दिया जाएगा।
आपका कार्य
आपका कार्य, जाहिर है, यह निर्धारित करने के लिए है कि दो सूचियां (इनपुट के रूप में दी गई हैं) संभावित रूप से विभाज्य हैं। आप आउटपुट के साथ किसी भी स्वीकृत तरीके से इनपुट ले सकते हैं।
सूचियों में डुप्लिकेट एक संभावना है, और पूर्णांक पर एकमात्र आकार प्रतिबंध आपकी भाषा है। दोनों सूचियों में सभी पूर्णांक 0 से बड़े होंगे, और दोनों सूचियाँ समान आकार की होंगी।
जैसा कि सभी निर्णय-समस्या के साथ आउटपुट मानों में 2 अलग-अलग मूल्य होने चाहिए जो सही और गलत का प्रतिनिधित्व करते हैं।
यह एक कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है!
परीक्षण के मामलों
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