هذه مسألة تفاعلية.
لدى Little Cyan Fish عدد صحيح سري $a$ ($1 \le a \le 100$). عليك إيجاد هذا العدد الصحيح.
في كل استعلام، تختار عددًا صحيحًا $x$. يخبرك Little Cyan Fish ما إذا كان $x$ يساوي عدده الصحيح السري. أوجد العدد الصحيح السري في ما لا يزيد عن $100$ استعلام.
التفاعل
لإجراء استعلام، اطبع سطرًا بالتنسيق التالي: "$?\ x$"، حيث $x$ عدد صحيح ($1 \le x \le 100$). كاستجابة للاستعلام، ستحصل على كلمة واحدة yes أو no، مما يعني أن $x = a$ أو $x \ne a$ على التوالي. يجب عليك التأكد من أن عدد الاستعلامات التي تجريها لا يتجاوز $100$.
للإبلاغ عن الإجابة، أخرج سطرًا بالتنسيق التالي: "$!\ x$"، حيث $x$ هو العدد الصحيح السري. الإبلاغ عن الإجابة لا يُحتسب كاستعلام. تلقي yes لا ينهي التفاعل: لا يزال يتعين عليك الإبلاغ عن الإجابة. يجب أن ينتهي برنامجك فورًا بعد الإبلاغ عن الإجابة. بعد إخراج استعلام أو الإبلاغ عن الإجابة، لا تنسَ إخراج محرف سطر جديد وتفريغ دفق الإخراج (flush).
في هذه المسألة، المتفاعل ليس تكيفيًا. يتم تثبيت العدد الصحيح السري قبل بدء التفاعل ولا يتغير أثناء التفاعل.
أمثلة
الإدخال 1
no no yes
الإخراج 1
? 1 ? 2 ? 3 ! 3
ملاحظة
في المثال الأول، العدد الصحيح السري هو $3$. الاستعلامان بقيمتي $x = 1$ و $x = 2$ يتلقيان no، والاستعلام بقيمة $x = 3$ يتلقى yes. بعد ذلك يبلغ الحل عن ! 3.
في المثال الثاني، العدد الصحيح السري هو $1$. يتلقى الاستعلام الأول yes، ويبلغ الحل عن ! 1.
أداة الاختبار: يتم توفير أداة اختبار لمساعدة المتسابقين على تطوير واختبار حلولهم. يمكنك تنزيل هذه الأداة من المرفقات. يوضح تشغيل الأداة مع الخيار -h كيفية استخدامها. تتحقق الأداة من التفاعل والإجابة المبلغ عنها، لكنها لا تفرض حد الوقت أو الذاكرة.