La puerta de mi garaje eléctrico funciona así:
- Solo hay un botón para controlar la puerta
- Si la puerta está completamente cerrada y presiono el botón, la puerta comienza a abrirse. Tarda 10 segundos en abrirse completamente
- Si la puerta está completamente abierta y presiono el botón, la puerta comienza a cerrarse. Tarda 10 segundos en cerrarse completamente
- Si la puerta está a medio abrir o cerrarse y presiono el botón, entonces la puerta se detiene y se deja parcialmente abierta.
- Cada vez que la puerta deja de moverse, ya sea por la finalización automática de una acción de apertura o cierre, o por la interrupción manual presionando el botón a la mitad de una acción, el mecanismo se revertirá y recordará su dirección para la siguiente acción.
- Si se presiona el botón cuando la puerta está detenida pero parcialmente abierta, la cantidad de tiempo para que complete su acción será una fracción de 10 segundos en proporción a la cantidad que necesita moverse para completar la acción.
Suponga que la puerta está completamente cerrada al comienzo.
Se dará una lista de entrada de enteros. Estos enteros son la cantidad de segundos que espero entre pulsaciones sucesivas del botón de control.
Salida dos cosas:
- un porcentaje que indica el estado de la puerta una vez que se completan todos los botones y la puerta ha alcanzado un estado estable. La salida del
%símbolo es opcional. - Una indicación inequívoca de en qué dirección se desplazará la puerta en el siguiente botón. Esto puede ser
up/down,U/D,+/-,1/0o lo que elija.
Puede suponer que la puerta tarda infinitamente menos de 10 segundos para completar una acción de abrir o cerrar.
Entradas de ejemplo:
<empty list> # button was pushed just once
20 # button was pushed twice with 20 seconds between
10
5
20 20
10 10
5 5
1 2 3
8 9 10 11
11 10 9 8 7
Salidas esperadas correspondientes a las entradas anteriores
100% D
0% U
0% U
50% D
100% D
100% D
0% U
100% D
0% U
20% U
Ejemplo trabajado de la última prueba
- La puerta comienza cerrada. Se presiona el botón
- Espera 11 segundos. La puerta termina completamente abierta. Se presiona el botón.
- Espera 10 segundos La puerta termina completamente cerrada. Se presiona el botón.
- Espera 9 segundos Se presiona el botón. La puerta se detiene al 90% abierta.
- Espera 8 segundos Se presiona el botón. La puerta comienza a cerrarse.
- Espera 7 segundos. Se presiona el botón. La puerta se detiene al 20% abierta. La siguiente dirección estará arriba.