Stellen Sie sich eine Brücke der Länge B vor, die aus Kacheln besteht, die mit den Ziffern der verketteten positiven ganzen Zahlen gekennzeichnet sind. Wenn B beispielsweise 41 wäre, würde es so aussehen:
----------------------------------------- 12345678910111213141516171819202122232425
Stellen Sie sich nun einen Zug der Länge T vor , der die Brücke überquert. Der am weitesten links liegende Punkt des Zuges beginnt an Position X (1-indexiert). Um das Problem besser zu verstehen, erstellen wir ein Schema des Ereignisses mit B = 41, T = 10, X = 10 . Der Zug wird mit Gleichheitszeichen ( =
) und Linien gezeichnet :
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425
Der Zug kann bei jedem Schritt um die Summe der einzigartigen Kacheln vorrücken, auf denen er sich befindet. Zum Beispiel sind die Kacheln, auf denen der Zug oben steht, : [1, 0, 1, 1, 1, 2, 1, 3, 1, 4]
, die eindeutigen (deduplizierten) Kacheln: [1, 0, 2, 3, 4]
und ihre Summe ist 10
. Daher kann der Zug durch 10
Kacheln vorrücken . Wir sollten es erneut zeichnen und den Vorgang wiederholen, bis der am weitesten links stehende Punkt des Zuges die letzte Kachel passiert hat:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 Summe der einzigartigen Kacheln: 1 + 5 + 6 + 7 + 8 + 9 = 36. Der Zug rückt um 36 Kacheln vor ... __________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 Der Zug überquerte offensichtlich die Brücke vollständig, also sollten wir jetzt anhalten.
Da sich die Leute im Haus langweilen, zählen sie jedes Mal die Kacheln, die der Zug vorgerückt hat. In diesem speziellen Fall 10
und 36
. Zusammenfassend hat sich der Zug bewegt, 46
bevor er die Brücke passiert hat.
Aufgabe
Bei drei positiven ganzen Zahlen, B (die Brückenlänge), T (die Zuglänge) und X (die Startposition, 1-indiziert ), müssen Sie bestimmen, wie viele Kacheln der Zug bewegt hat, bis er die Brücke gemäß den Regeln überquert hat über.
- Sie können davon ausgehen, dass:
- B ist höher als T .
- X niedriger als B .
- T ist mindestens 2 .
- Der Zug überquert schließlich die Brücke.
- Es gelten alle unsere Standardregeln.
- Dies ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
Testfälle
Eingang ([B, T, X]) -> Ausgang [41, 10, 10] -> 46 [40, 10, 10] -> 46 [30, 4, 16] -> 24 [50, 6, 11] -> 50
Ein weiteres Beispiel für den letzten Testfall:
Die Brücke hat die Länge 50, der Zug 6 und die Startposition ist 11. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Einzigartige Kacheln: [0, 1, 2]. Summe: 3. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Einzigartige Kacheln: [1, 2, 3, 4]. Summe: 10. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Einzigartige Kacheln: [1, 7, 8, 9]. Summe: 25. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Einzigartige Kacheln: [9, 3]. Summe: 12. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Zug existiert die Brücke. Gesamtsumme: 3 + 10 + 25 + 12 = 50.
(200, 2, 169)
, wird der Zug auf dem stecken00
in…9899100101102…
.