Minimales Skalarprodukt
Die Inspiration für dieses Code-Golf-Problem ist der Code-Jam-Wettbewerb von Google . Die Prämisse hinter dem Problem ist, bei der Eingabe von zwei Vektoren unterschiedlicher Länge den minimal möglichen Skalar zu finden. Ein Skalar kann mit der folgenden Formel gefunden werden:
x1 * y1 + x2 * y2 + ... + xn * yn
Das Problem ist jedoch, dass abhängig von der Reihenfolge der Ziffern im Eingabefall (siehe unten) mehrere Werte für den Skalar gefunden werden können. Ihr Ziel ist es, die minimal mögliche skalare Ganzzahllösung zu bestimmen, indem Sie die eingegebenen Fallnummern in die Gleichung einfügen und danach auflösen. Sie dürfen jede Zahl in der Eingabe nur einmal verwenden und müssen alle Zahlen verwenden.
Gestatten Sie mir ein Beispiel mit den folgenden Vektoren.
Eingang
3
1 3 -5
-2 4 1
Ausgabe
-25
Die erste Ganzzahl in der Zeile gibt die Anzahl der Zahlen n in jedem Vektor an. In diesem Fall haben wir drei Zahlen in jedem Vektor.
Die Anzahl n kann mit jedem Testfall variieren, es gibt jedoch immer zwei Vektoren.
In der Beispieleingabe wäre das minimale Skalarprodukt -25.
(-5 * 4) + (1 * 1) + (3 * -2) = 25
Regeln
- Sie dürfen jede Ganzzahl in beiden Vektoren nur einmal verwenden.
- Sie müssen alle Ganzzahlen in den Vektoren verwenden.
- Ihre Ausgabe darf nur das Endprodukt enthalten
- Ich wähle die Lösung mit der geringsten Codemenge, die allen oben aufgeführten Spezifikationen entspricht, in einer beliebigen Sprache aus!
Tipp: Sie müssen dieses Problem nicht brutal erzwingen, es sei denn, Ihr Code wird dadurch kürzer. Es gibt eine spezielle Methode, um den minimalen überspannenden Skalar zu finden :).