ESTE PROBLEMA NO FUNCIONA AUN.
Haz un programa que proponga un número entero x entre 1 y 1000. A continuación, recibirás por la entrada un número entre 1 y x, y tu programa deberá escribir el doble de tal número. Tu programa deberá leer y duplicar tantas veces dicho número como se le pida, hasta que cometa un error o sea capaz de doblarlo correctamente 100 veces.
A diferencia de la gran mayoría de los problemas de la OIE, donde tu programa debe calcular la salida correcta a una entrada dada, este problema es interactivo: la entrada que reciba tu programa cambiará en función de lo que tu programa haga.
La primera línea de la entrada empieza con el texto NUMERO. Tu programa debe responder escribiendo un número entero x entre 1 y 1000. A continuación, recibirás varias líneas de la forma DUPLICA Y, donde Y será un número entero. A cada una de estas preguntas, tu programa deberá responder el doble del número leído. (Siempre que tu programa escriba algo, deberá escribir también un salto de línea para que el proceso continúe).
Tu programa deberá finalizar cuando lea una línea que no empiece con la palabra DUPLICA.
Tu programa dispone de 1 segundo de CPU para jugar a este juego no más de 100 veces.
A modo de ejemplo, mostramos un posible intercambio:
> NUMERO
< 4
> DUPLICA 3
< 6
> DUPLICA 6
< 12
> DUPLICA 12
< 25
> FINAL 3
La última línea (FINAL 3) contiene el número de duplicaciones
que tu programa ha realizado correctamente, en función de las cuales
será puntuado.
Para poder probar que tu programa funciona correctamente antes de enviarlo al juez on-line, puedes usar el archivo que acompaña a este enunciado en la web de la Olimpiada Informática. Después de descargar y descomprimir tal archivo, podrás usar el comando
./duplica.exe entrada.txt
para experimentar por tu mismo la entrada y la salida, y el comando
python conn.py ./programa.exe entrada.txt
para probar tu programa ./programa.exe.
Puntuación
La puntuación de tu programa depende del número de veces que sea capaz de duplicar correctamente el número:
La puntuación será siempre un número entero de puntos, y se calculará haciendo el promedio correspondiente, redondeando hacia abajo. Por ejemplo, un programa que acabe con 48 duplicaciones correctas recibirá 60 puntos.