Duplícalo (Interactivo) P81035


Warning: This problem has some issue.

The system has detected that this problem may have some issue, as a mistake in its statement or a wrong solution. It should be soon be repaired by its problem setter.

Solution status: C++ . (red languages have some issue).

It is not recommended to try to solve this problem until this warning disapears.

Statement
 

pdf   zip

html

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.

Entrada/Salida

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.

Ejemplo

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:

  • 10–40 Puntos. Entre 0 y 32 veces.
  • 40–80 Puntos. Entre 32 y 64 veces.
  • 80–100 Puntos. Entre 64 y 100 veces.

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.

Information
Author
Omer Giménez
Language
Spanish
Official solutions
C++
User solutions