QOJ.ac

QOJ

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

#19997. Kinderspiel mit einem Roboter

Statistics

Dies ist eine interaktive Aufgabe.

Der kleine Misha spielt ein Kinderspiel mit einem Roboter. In diesem Spiel steht der Roboter auf einem Feld, das in $3 \times 3$ Quadrate unterteilt und von Begrenzungen umgeben ist. Das Spiel beginnt im mittleren Quadrat und besteht aus zehn Aktionen. Jede Aktion ist entweder das Aufsagen eines Satzes oder der Versuch, sich in eines der benachbarten Quadrate zu bewegen. Das Aufsagen dient zum Warten oder einfach zur Unterhaltung.

Eines der Quadrate ist besonders, doch Misha weiß nicht im Voraus, welches. Der Roboter meldet, wenn er das besondere Quadrat betritt. Ziel des Spiels ist es, genau während der zehnten Aktion das besondere Quadrat zu betreten.

Um mit dem Roboter zu kommunizieren, verwendet Misha Texteingaben und -ausgaben. Die folgenden Befehle werden erkannt:

  • echo phrase — Aufsagen von phrase,

  • move north — ein Quadrat nach Norden gehen,

  • move east — ein Quadrat nach Osten gehen,

  • move south — ein Quadrat nach Süden gehen,

  • move west — ein Quadrat nach Westen gehen.

Bei jedem Aufsagebefehl liest der Roboter den gegebenen Satz laut vor und gibt ihn außerdem als Text zurück. Während des Aufsagens bewegt sich der Roboter nicht. Es ist garantiert, dass der Roboter Sätze korrekt verarbeitet, die aus Zeichen mit ASCII-Codes von 32 bis einschließlich 126 bestehen und höchstens 256 Zeichen lang sind.

Bei jedem Bewegungsbefehl gibt der Roboter eines der folgenden vier Wörter zurück:

  • bump, wenn der Roboter statt einer Bewegung gegen eine Begrenzung gestoßen ist; in diesem Fall bleibt er im selben Quadrat,

  • moved, wenn der Roboter erfolgreich ein gewöhnliches Quadrat betreten hat,

  • found, wenn der Roboter während einer der ersten neun Aktionen das besondere Quadrat betreten hat,

  • win, wenn der Roboter während der zehnten Aktion das besondere Quadrat betreten hat.

Hilf Misha, so zu spielen, dass der Roboter während der zehnten Aktion das gewünschte Wort win ausgibt.

Interaktion

Das Lösungsprogramm muss Befehle auf der Standardausgabe ausgeben, einen Befehl pro Zeile. Um das Puffern der Ausgabe zu verhindern, leere den Ausgabepuffer nach jedem ausgegebenen Befehl. Dazu kannst du beispielsweise fflush (stdout) in C oder C++, System.out.flush () in Java, flush (output) in Pascal oder sys.stdout.flush () in Python verwenden.

Die Antwort auf jeden Befehl wird in einer eigenen Zeile an die Standardeingabe des Lösungsprogramms zurückgegeben.

Nach der Ausgabe von zehn Befehlen muss das Lösungsprogramm ordnungsgemäß enden.

Beispiele

Im gegebenen Beispiel liegt das besondere Quadrat östlich der Mitte. Es ist garantiert, dass dieser Test beim Prüfen deiner Lösung der erste ist.

Die Befehle (Ausgabe des Lösungsprogramms) stehen links und die zugehörigen Antworten (Eingabe des Lösungsprogramms) rechts.

Eingabe 1

moved
moved
found
moved
found
bump
moved
Ready!
Steady...
win

Ausgabe 1

move north
move east
move south
move west
move east
move east
move south
echo Ready!
echo Steady...
move north

Hinweis

In jedem Test wird das besondere Quadrat im Voraus ausgewählt und ändert sich während des Wettbewerbs nicht.

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.