هذه مسألة تفاعلية.
يلعب 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
ملاحظة
في كل اختبار، يُختار المربع المميز مسبقًا ولا يتغير أثناء المسابقة.