Considere un puente de longitud B formado por mosaicos etiquetados con los dígitos de los enteros positivos concatenados. Por ejemplo, si B era 41, entonces se vería así:
----------------------------------------- 12345678910111213141516171819202122232425
Ahora imagine un tren de longitud T cruzando el puente. El punto más a la izquierda del tren comienza en la posición X (1 indexado). Para comprender mejor el problema, hagamos un esquema del evento, con B = 41, T = 10, X = 10 . El tren se dibuja usando signos iguales ( =
) y líneas:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425
El tren puede avanzar, en cada paso, por la suma de las fichas únicas en las que se encuentra. Por ejemplo, los mosaicos en los que se encuentra el tren arriba son:, [1, 0, 1, 1, 1, 2, 1, 3, 1, 4]
los mosaicos únicos (deduplicados) son: [1, 0, 2, 3, 4]
y su suma es 10
. Por lo tanto, el tren puede avanzar por 10
fichas. Deberíamos dibujarlo nuevamente y repetir el proceso hasta que el punto más a la izquierda del tren haya pasado el último mosaico:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 Suma de fichas únicas: 1 + 5 + 6 + 7 + 8 + 9 = 36. El tren avanza en 36 fichas ... __________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 El tren obviamente cruzó el puente por completo, así que deberíamos parar ahora.
Como las personas que están dentro están aburridas, cuentan las fichas que el tren ha avanzado cada vez. En este caso específico, 10
y 36
. Resumiendo todo, el tren se movió 46
antes de pasar el puente.
Tarea
Dados tres enteros positivos, B (la longitud del puente), T (la longitud del tren) y X (la posición inicial, indexada en 1 ), su tarea es determinar cuántas fichas ha movido el tren hasta que cruzó el puente siguiendo las reglas encima.
- Puedes asumir que:
- B es mayor que T .
- X es menor que B .
- T es al menos 2 .
- El tren finalmente cruza el puente.
- Se aplican todas nuestras reglas estándar.
- Este es el código de golf , por lo que gana el código más corto en bytes.
Casos de prueba
Entrada ([B, T, X]) -> Salida [41, 10, 10] -> 46 [40, 10, 10] -> 46 [30, 4, 16] -> 24 [50, 6, 11] -> 50
Otro ejemplo trabajado para el último caso de prueba:
El puente tiene una longitud 50, el tren 6 y la posición inicial es 11. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Fichas únicas: [0, 1, 2]. Suma: 3. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Fichas únicas: [1, 2, 3, 4]. Suma: 10. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Fichas únicas: [1, 7, 8, 9]. Suma: 25. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 Fichas únicas: [9, 3]. Suma: 12. ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 El tren existe el puente. Suma total: 3 + 10 + 25 + 12 = 50.
(200, 2, 169)
, el tren se queda atascado en la00
en…9899100101102…
.