זוהי בעיה אינטראקטיבית.
ל-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 מתארת כיצד להשתמש בו. הכלי בודק את האינטראקציה ואת התשובה המדווחת, אך אינו אוכף את מגבלת הזמן או הזיכרון.