זו בעיה אינטראקטיבית.
Misha הקטן משחק במשחק ילדים עם רובוט. במשחק זה הרובוט עומד על משטח המחולק ל־$3 \times 3$ משבצות ומוקף במחסומים. המשחק מתחיל במשבצת המרכזית וכולל ביצוע עשר פעולות. כל פעולה היא דקלום של משפט או ניסיון לעבור לאחת המשבצות השכנות. הדקלום משמש להמתנה, או סתם לשעשוע.
אחת המשבצות מיוחדת, אבל Misha אינו יודע מראש איזו. הרובוט מדווח כשהוא עובר למשבצת המיוחדת. מטרת המשחק היא לעבור למשבצת המיוחדת בדיוק במהלך הפעולה העשירית.
כדי לתקשר עם הרובוט, Misha משתמש בקלט ובפלט טקסטואליים. הפקודות הבאות מזוהות:
echo phrase— דקלום שלphrase,move north— מעבר משבצת אחת צפונה,move east— מעבר משבצת אחת מזרחה,move south— מעבר משבצת אחת דרומה,move west— מעבר משבצת אחת מערבה.
לכל פקודת דקלום, הרובוט קורא בקול את המשפט הנתון וגם מדפיס אותו בחזרה כטקסט. בזמן דקלום הרובוט אינו זז. מובטח שהרובוט מטפל נכון במשפטים המורכבים מתווים שקודי ה־ASCII שלהם הם מ־32 עד 126 כולל, ושאורכם לכל היותר 256 תווים.
לכל פקודת תנועה, הרובוט מדפיס בחזרה אחת מארבע המילים:
bumpאם במקום לזוז הרובוט נתקל במחסום; במקרה זה הוא נשאר באותה משבצת,movedאם הרובוט עבר בהצלחה למשבצת רגילה,foundאם הרובוט עבר למשבצת המיוחדת במהלך אחת מתשע הפעולות הראשונות,winאם הרובוט עבר למשבצת המיוחדת במהלך הפעולה העשירית.
עזרו ל־Misha לשחק כך שבמהלך הפעולה העשירית הרובוט ידפיס את המילה הרצויה win.
אינטראקציה
על תוכנית הפתרון להדפיס פקודות לפלט הסטנדרטי, פקודה אחת בכל שורה. כדי למנוע אגירה של הפלט בחוצץ, רוקנו את חוצץ הפלט לאחר כל פקודה שתוציאו: למשל, אפשר להשתמש ב־fflush (stdout) ב־C או ב־C++, ב־System.out.flush () ב־Java, ב־flush (output) ב־Pascal או ב־sys.stdout.flush () ב־Python.
התשובה לכל פקודה מוחזרת לקלט הסטנדרטי של תוכנית הפתרון בשורה נפרדת.
לאחר הדפסת עשר פקודות, על תוכנית הפתרון להסתיים בצורה תקינה.
דוגמאות
בדוגמה הנתונה, המשבצת המיוחדת נמצאת ממזרח למרכז. מובטח שבדיקה זו תהיה הראשונה בעת בדיקת הפתרון שלכם.
הפקודות (פלט הפתרון) מוצגות משמאל, והתשובות עליהן (קלט הפתרון) מימין.
קלט 1
moved moved found moved found bump moved Ready! Steady... win
פלט 1
move north move east move south move west move east move east move south echo Ready! echo Steady... move north
הערה
בכל בדיקה, המשבצת המיוחדת נבחרת מראש ואינה משתנה במהלך התחרות.