La inspiración para este rompecabezas código de golf es el problema del puente y de la antorcha , en la que d personas en el inicio de un puente deben todos cruzarlo en la menor cantidad de tiempo.
El problema es que, como máximo, dos personas pueden cruzar a la vez, de lo contrario el puente se aplastará bajo su peso, y el grupo solo tiene acceso a una antorcha, que debe transportarse para cruzar el puente.
Cada persona en todo el rompecabezas tiene un tiempo específico que toman para cruzar el puente. Si dos personas se cruzan juntas, la pareja va tan lenta como la persona más lenta.
No hay un número establecido de personas que deben cruzar el puente; su solución DEBE funcionar por cualquier valor de d .
No necesita utilizar la entrada estándar para este problema, pero para explicar el problema, utilizaré el siguiente formato de entrada y salida para la explicación. El primer número, d , es el número de personas al comienzo del puente. Luego, el código buscará d números, cada uno de los cuales representa la velocidad de una persona.
La salida del código será la MENOR cantidad de tiempo requerida para cruzar a todos desde el inicio del puente hasta el final del puente, mientras cumple con los criterios explicados anteriormente.
Aquí hay algunos casos de entrada y salida y la explicación para el primer caso de entrada. Depende de usted derivar un algoritmo de esta información para resolver el problema en la menor cantidad de bytes posible de código.
entrada
4
1 2 5 8
salida
15
Para alcanzar este resultado, las personas deben cruzar de la siguiente manera.
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)
Aquí hay otro caso de prueba para guiarlo en su camino.
entrada
5
3 1 6 8 12
salida
29
Reglas:
- Suponga que la entrada no se ordenará y debe hacerlo por su cuenta (si es necesario)
- El número de personas en el rompecabezas no está fijado en 4 (N> = 1)
- Cada grupo y cruce individual debe tener una antorcha. Solo hay una antorcha.
- ¡Cada grupo debe constar de un máximo de solo 2 personas!
- No, no puedes saltar del puente y nadar hacia el otro lado. No hay otros trucos como este;).
1 4 5 6 7tiene un problema similar 25 contra 26
N >= 2personas (lo que significa, curiosamente que es un trabajo adicional manejar el caso trivial de "1 persona necesita cruzar"), por lo que alguna aclaración sobre este punto sería genial. Gracias por adelantado.
1 3 4 5, que deberían devolver 14 no 15.