启发(与解释被盗)本
背景
假设您有两个列表A = [a_1, a_2, ..., a_n]
和B = [b_1, b_2, ..., b_n]
整数。我们说A
是潜在的,可分割的B
,如果有一个置换B
,使得a_i
整除b_i
所有i
。问题是:是否可以重新排序(即置换)B
以便所有人都a_i
可以整除?例如,如果您有b_i
i
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
因为我们不能重新排序,B
因为25和5在中A
,但是in 的唯一除数B
是5,因此将被忽略。
你的任务
显然,您的任务是确定两个列表(作为输入)是否可能被整除。您可以采用任何可接受的方式进行输入,就像输出一样。
列表中可能有重复项,并且整数的唯一大小限制是您的语言。两个列表中的所有整数都将大于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