Betrachten Sie diese fünf ASCII-Meerestiere:
- Standardfisch:
><>oder<>< - Schneller Fisch:
>><>oder<><< - Starker Fisch:
><>>oder<<>< - Dehnbarer Fisch:
><<<>oder<>>>< - Krabbe:
,<..>,
Schreiben Sie ein Programm, das eine beliebige Zeichenfolge akzeptiert <>,.. Wenn es eine Möglichkeit gibt, die gesamte Zeichenfolge als eine Reihe sich nicht überlappender Meerestiere zu interpretieren , sollte die Zeichenfolge mit einzelnen Leerzeichen zwischen den Kreaturen nachgedruckt werden. Ist diese Interpretation nicht möglich, sollte nichts ausgegeben werden (das Programm endet stillschweigend).
Beispielsweise kann die Zeichenfolge <><><>als zwei Standardfische hintereinander interpretiert werden. Die entsprechende Ausgabe wäre <>< ><>.
Als weiteres Beispiel ><>><>>enthält die Zeichenfolge "Instanzen" von ...
(Klammern nur als Indikatoren hinzugefügt)
- ein paar Standardfische:
[><>][><>]> - ein flotter Fisch:
><[>><>]> - ein robuster Fisch in mehrfacher Hinsicht:
[><>>]<>>und><>[><>>]
Allerdings erstreckt sich nur die Paarung eines Standardfisches und eines robusten Fisches [><>][><>>]über die gesamte Länge der Schnur, ohne dass sich die Zeichen der Fische teilen (keine Überlappungen). Somit ist die Ausgabe an entsprechenden ><>><>>ist ><> ><>>.
Wenn es mehrere Möglichkeiten gibt, die Zeichenfolge zu interpretieren, können Sie eine davon drucken. (Und nur druckt ein . Von ihnen) Zum Beispiel <><<<><kann als Standard Fisch und ein stabilen Fisch interpretiert werden: [<><][<<><]oder als schnellen Fisch und ein Standard - Fisch: [<><<][<><]. Also entweder <>< <<><oder <><< <><wäre eine gültige Ausgabe.
Die Krabben sind nur zum Spaß. Da sie nicht mit beginnen oder enden <oder >, sind sie viel leichter zu (zumindest optisch) zu identifizieren. Zum Beispiel die Zeichenfolge
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
würde natürlich die Ausgabe produzieren
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
Hier einige Beispiele für Zeichenfolgen (eine pro Zeile), die keine Ausgabe erzeugen:
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
Die letzte Zeichenfolge hier kann analysiert werden, wenn Sie das führende Zeichen entfernen <:
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(Möglicherweise gibt es andere mögliche Ausgaben.)
Einzelheiten
- Die Eingabezeichenfolge enthält nur die Zeichen
<>,.. - Die Eingabezeichenfolge muss mindestens ein Zeichen lang sein.
- Übernehmen Sie die Eingabe auf eine übliche Weise (Befehlszeile, stdin) und geben Sie sie an stdout aus.
- Der kürzeste Code in Bytes gewinnt. ( Handy-Byte-Zähler. ) Tiebreaker ist früherer Beitrag.






