Universal Cup Judging System

Universal Cup

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Interactive Hackable ✓
Statistics

Ceci est un problème interactif.

Little Cyan Fish a un entier secret $a$ ($1 \le a \le 100$). Vous devez trouver cet entier.

Lors d'une requête, vous choisissez un entier $x$. Little Cyan Fish vous indique si $x$ est égal à son entier secret. Trouvez l'entier secret en au plus $100$ requêtes.

Interaction

Pour effectuer une requête, affichez une ligne au format suivant : « $?\ x$ », où $x$ est un entier ($1 \le x \le 100$). En réponse à la requête, vous recevrez un seul mot yes ou no, signifiant respectivement que $x = a$ ou $x \ne a$. Vous devez vous assurer que le nombre de requêtes que vous effectuez ne dépasse pas $100$.

Pour annoncer la réponse, affichez une ligne au format suivant : « $!\ x$ », où $x$ est l'entier secret. L'annonce de la réponse ne compte pas comme une requête. Recevoir yes ne met pas fin à l'interaction : vous devez tout de même annoncer la réponse. Votre programme doit se terminer immédiatement après avoir annoncé la réponse. Après avoir affiché une requête ou annoncé la réponse, n'oubliez pas d'afficher un caractère de saut de ligne et de vider le tampon de sortie (flush).

Dans ce problème, l'interacteur n'est pas adaptatif. L'entier secret est fixé avant le début de l'interaction et ne change pas au cours de l'interaction.

Exemples

Entrée 1

no

no

yes

Sortie 1

? 1

? 2

? 3

! 3

Remarque

Dans le premier exemple, l'entier secret est $3$. Les requêtes avec $x = 1$ et $x = 2$ reçoivent no, et la requête avec $x = 3$ reçoit yes. La solution annonce ensuite ! 3.

Dans le second exemple, l'entier secret est $1$. La première requête reçoit yes, et la solution annonce ! 1.

Outil de test : Un outil de test est fourni pour aider les participants à développer et tester leurs solutions. Vous pouvez télécharger cet outil depuis les pièces jointes. L'exécution de l'outil avec l'option -h décrit comment l'utiliser. L'outil vérifie l'interaction et la réponse annoncée, mais n'applique pas la limite de temps ou de mémoire.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.