영감 (설명은 도난과) 이
배경
두 개의 목록 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]
이것은 25와 5가 in 이므로 False
재정렬 할 수 없기 때문에 유일한 제수는 5이므로 하나는 제외됩니다.B
A
B
당신의 작업
분명히 당신의 임무는 두 개의 목록 (입력으로 주어진)이 잠재적으로 나눌 수 있는지를 결정하는 것입니다. 출력과 마찬가지로 허용되는 방식으로 입력 할 수 있습니다.
목록에 중복이있을 가능성이 있으며 정수에 대한 유일한 크기 제한은 사용자의 언어입니다. 두 목록의 모든 정수는 0보다 크고 두 목록의 크기는 동일합니다.
모든 의사 결정 문제 와 마찬가지로 출력 값은 true와 false를 나타내는 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