Prodotto scalare minimo
L'ispirazione per questo problema di golf del codice è dalla competizione di code jam di Google . La premessa alla base del problema è, dato l'ingresso di due vettori di varia lunghezza, trovare il minimo scalare possibile. Uno scalare può essere trovato usando la seguente formula:
x1 * y1 + x2 * y2 + ... + xn * yn
Il problema, tuttavia, è che è possibile trovare più valori per lo scalare in base all'ordine dei numeri nel caso di input (visto di seguito). Il tuo obiettivo è determinare la soluzione intera scalare minima possibile inserendo i numeri del caso di input nell'equazione e risolvendola. È possibile utilizzare ogni numero nell'input solo una volta e è necessario utilizzare tutti i numeri.
Mi permetta di fornire un esempio con i seguenti vettori.
Ingresso
3
1 3 -5
-2 4 1
Produzione
-25
Il primo numero intero sulla riga rappresenta il numero di numeri, n, in ciascun vettore. In questo caso, abbiamo tre numeri in ciascun vettore.
Il numero n può variare con ogni caso di test, ma ci saranno sempre due vettori.
Nell'input di esempio, il prodotto scalare minimo sarebbe -25.
(-5 * 4) + (1 * 1) + (3 * -2) = 25
Regole
- È possibile utilizzare ogni numero intero in entrambi i vettori una sola volta.
- È necessario utilizzare tutti i numeri interi nei vettori.
- L'output deve includere solo il prodotto finale
- Selezionerò la soluzione con la minima quantità di codice, che segue tutte le specifiche sopra elencate, in qualsiasi lingua!
Suggerimento: non è necessario forzare bruscamente questo problema, a meno che non riduca il codice. Esiste un metodo specifico per trovare lo scalare minimo spanning :).