Producto escalar mínimo
La inspiración para este problema de código de golf es de la competencia de código jam de Google . La premisa detrás del problema es, dada la entrada de dos vectores de diferentes longitudes, encontrar el escalar mínimo posible. Se puede encontrar un escalar usando la siguiente fórmula:
x1 * y1 + x2 * y2 + ... + xn * yn
Sin embargo, el problema es que se pueden encontrar múltiples valores para el escalar dependiendo del orden de los números en el caso de entrada (visto a continuación). Su objetivo es determinar la mínima solución de entero escalar posible al conectar los números de caso de entrada en la ecuación y resolverla. Puede usar cada número en la entrada solo una vez, y debe usar todos los números.
Permítanme proporcionar un ejemplo con los siguientes vectores.
Entrada
3
1 3 -5
-2 4 1
Salida
-25
El primer número entero en la línea representa el número de números, n, en cada vector. En este caso, tenemos tres números en cada vector.
El número n puede variar con cada caso de prueba, pero siempre habrá dos vectores.
En la entrada de ejemplo, el producto escalar mínimo sería -25.
(-5 * 4) + (1 * 1) + (3 * -2) = 25
Reglas
- Solo puede usar cada número entero en ambos vectores una vez.
- Debe usar todos los enteros en los vectores.
- Su salida solo debe incluir el producto final
- ¡Seleccionaré la solución con la menor cantidad de código, que siga todas las especificaciones enumeradas anteriormente, en cualquier idioma!
Sugerencia: No necesita forzar este problema por fuerza bruta, a menos que acorte su código. Hay un método específico involucrado en encontrar el escalar mínimo de expansión :).