Die Inspiration für diesen Code Golf Puzzle ist die Brücke und Torch Problem , bei dem d Menschen am Anfang einer Brücke alle es in der geringsten Menge an Zeit überqueren müssen.
Der Haken ist, dass höchstens zwei Personen gleichzeitig überqueren können, da sonst die Brücke unter ihrem Gewicht zusammenbricht und die Gruppe nur Zugang zu einer Fackel hat, die getragen werden muss, um die Brücke zu überqueren.
Jede Person im gesamten Puzzle hat eine bestimmte Zeit, die sie benötigt, um über die Brücke zu gehen. Wenn sich zwei Personen kreuzen, ist das Paar genauso langsam wie die langsamste Person.
Es gibt keine festgelegte Anzahl von Personen, die die Brücke überqueren müssen. Ihre Lösung muss für jeden Wert von d funktionieren .
Sie müssen für dieses Problem keine Standardeingabe verwenden, aber um das Problem zu erläutern, verwende ich das folgende Eingabe- und Ausgabeformat für die Erläuterung. Die erste Zahl, d , ist die Anzahl der Personen am Beginn der Brücke. Anschließend sucht der Code nach d- Nummern, die jeweils die Geschwindigkeit einer Person darstellen.
Die Code-Ausgabe ist die LEISTE Zeit, die erforderlich ist, um alle Benutzer vom Beginn der Brücke bis zum Ende der Brücke zu überqueren, wobei die zuvor erläuterten Kriterien erfüllt werden.
Hier sind einige Eingabe- und Ausgabefälle sowie die Erklärung für den ersten Eingabefall. Es liegt an Ihnen, einen Algorithmus aus diesen Informationen abzuleiten, um das Problem in möglichst wenigen Byte Code zu lösen.
Eingang
4
1 2 5 8
Ausgabe
15
Um diesen Ausgang zu erreichen, müssen die Menschen auf folgende Weise kreuzen.
A and B cross forward (2 minutes)
A returns (1 minute)
C and D cross forward (8 minutes)
B returns (2 minutes)
A and B cross forward (2 minutes)
Hier ist ein weiterer Testfall, der Sie auf Ihrem Weg führt.
Eingang
5
3 1 6 8 12
Ausgabe
29
Regeln:
- Angenommen, die Eingabe wird nicht sortiert, und Sie müssen dies selbst tun (falls erforderlich).
- Die Anzahl der Personen im Puzzle ist nicht auf 4 festgelegt (N> = 1)
- Jede Gruppen- und Einzelkreuzung muss eine Fackel haben. Es gibt nur eine Fackel.
- Jede Gruppe darf maximal aus 2 Personen bestehen!
- Nein, Sie dürfen nicht von der Brücke springen und auf die andere Seite schwimmen. Keine anderen Tricks wie diese;).
1 4 5 6 7hat ein ähnliches problem. 25 vs. 26
N >= 2Menschen umgehen (was seltsamerweise bedeutet, dass es zusätzliche Arbeit ist, den trivialen Fall "1 Person muss sich kreuzen" zu behandeln). Daher wäre eine Klarstellung in diesem Punkt sehr hilfreich. Danke im Voraus.
1 3 4 514" und "15"