Vielleicht haben Sie diese in Die Hard: With a Vengeance ... gesehen. Diese Frage basiert auf dem berühmten 3-Liter- und 5-Liter-Krug-Puzzle, aber mit einer etwas anderen Neigung.
Spielen Sie einen Code nach, der Ihnen bei einer Ganzzahl zwischen 1 und 100 die schnellste Anleitung bietet, um die entsprechende Anzahl von Litern Wasser aus einem Springbrunnen mit einem 3-Liter-Krug und einem 5-Liter-Krug in einen Tank zu füllen.
Auf keinem der Krüge sind Abstufungen; Der Brunnen ist reichlich mit Wasser versorgt, und es wird angenommen, dass der Tank zu Beginn jeder Ausführung des Codes geleert wird.
Sie können nicht auf das Wasser aus dem Tank zugreifen, wenn es erst einmal in den Tank gelangt ist.
Das Format der Ausführung ist wie folgt:
Eingang:
4
beispielsweise.
Ausgabe
Geben Sie jeden nummerierten Schritt wie gezeigt aus, gefolgt von einer Auflistung der Volumina der 5-Liter-Kanne, der 3-Liter-Kanne und des Tanks. Tally-Format auch unten gezeigt. Die Anzahl der Schritte muss auch am Ende der Schritte ausgegeben werden.
1) Fill 5L jug
5L: 5, 3L: 0, T: 0
2) Pour from 5L jug into 3L jug
5L: 2, 3L: 3, T: 0
3) Empty 3L jug
5L: 2, 3L: 0, T: 0
4) Pour from 5L jug into 3L jug
5L: 0, 3L: 2, T: 0
5) Fill 5L jug
5L: 5, 3L: 2, T: 0
6) Pour from 5L jug into 3L jug
5L: 4, 3L: 3, T: 0
7) Pour from 5L jug into tank
5L: 0, 3L: 3, T: 4
Volume measured out in 7 turns
Beispiel 2
Eingang: 8
Ausgabe:
1) Fill 5L jug
5L: 5, 3L: 0, T: 0
2) Pour from 5L jug into tank
5L: 0, 3L: 0, T: 5
3) Fill 3L jug
5L: 0, 3L: 3, T: 5
4) Pour from 3L jug into tank
5L: 0, 3L: 0, T: 8
Volume measured out in 4 turns
Konventionen
Fill xL jug
- Füllt den dazugehörigen Krug bis zum Rand vom BrunnenEmpty xL jug
- entleert den Inhalt der zugehörigen Kanne in den BrunnenPour from xL jug into yL jug
- Gießt den Inhalt der xL-Kanne in die yL-KannePour from xL jug into tank
- Gießt den Inhalt der xL-Kanne in den Tank
Kürzester Code gewinnt.