최소 스칼라 제품
이 코드 골프 문제에 대한 영감은 Google의 코드 잼 경쟁 에서 비롯 됩니다 . 문제의 배후는 다양한 길이의 두 벡터의 입력이 주어지면 가능한 최소 스칼라를 찾는 것입니다. 스칼라는 다음 공식을 사용하여 찾을 수 있습니다.
x1 * y1 + x2 * y2 + ... + xn * yn
그러나 문제는 입력 사례의 숫자 순서에 따라 스칼라에 대한 여러 값을 찾을 수 있다는 것입니다 (아래 참조). 목표는 입력 사례 번호를 방정식에 꽂고 해결하여 가능한 최소 스칼라 정수 솔루션을 결정하는 것입니다. 입력의 모든 숫자는 한 번만 사용할 수 있으며 모든 숫자를 사용해야합니다.
다음 벡터를 예로 들어 보겠습니다.
입력
3
1 3 -5
-2 4 1
산출
-25
줄의 첫 번째 정수는 각 벡터의 숫자 수 n을 나타냅니다. 이 경우 각 벡터에 세 개의 숫자가 있습니다.
숫자 n은 테스트 사례마다 다를 수 있지만 항상 두 개의 벡터가 있습니다.
입력 예에서 최소 스칼라 곱은 -25입니다.
(-5 * 4) + (1 * 1) + (3 * -2) = 25
규칙
- 두 벡터 모두 각 정수를 한 번만 사용할 수 있습니다.
- 벡터에 모든 정수를 사용해야합니다.
- 결과물에는 최종 제품 만 포함되어야합니다.
- 모든 언어에서 위에 나열된 모든 사양을 따르는 코드를 최소로 사용하여 솔루션을 선택하겠습니다!
힌트 : 코드를 더 짧게 만들지 않는 한이 문제를 강제 할 필요는 없습니다. 최소 스패닝 스칼라를 찾는 것과 관련된 특정 방법이 있습니다. :).