QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100

#19997. Дитяча гра з роботом

Statistics

Це інтерактивна задача.

Маленький 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

Примітка

У кожному тесті особливу клітинку вибирають заздалегідь, і вона не змінюється протягом змагання.

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.