次の5つのASCIIアートの海の生き物を考えてみましょう。
- 標準魚:
><>
または<><
- スピーディな魚:
>><>
または<><<
- 丈夫な魚:
><>>
または<<><
- 伸縮性のある魚:
><<<>
または<>>><
- カニ:
,<..>,
任意の文字列を受け入れるプログラムを作成します<>,.
。文字列全体を重複しない一連の海の生き物として解釈する方法がある場合、文字列は、生き物間に単一のスペースを挿入して再印刷する必要があります。この解釈が不可能な場合は、何も出力すべきではありません(プログラムは静かに終了します)。
たとえば、文字列<><><>
は2つの標準的な魚を連続して解釈できます。対応する出力はになります<>< ><>
。
別の例として、文字列に><>><>>
は「...」の「インスタンス」が含まれます
(括弧はインジケータとしてのみ追加されます)
- いくつかの標準的な魚:
[><>][><>]>
- スピーディな魚:
><[>><>]>
- いくつかの方法で頑丈な魚:
[><>>]<>>
と><>[><>>]
ただし、標準の魚と頑丈な魚のペアリングのみ[><>][><>>]
が、文字列の長さ全体に広がり、魚を共有する文字はありません(重複はありません)。したがって、に対応する出力><>><>>
は><> ><>>
です。
文字列の解釈方法が複数ある場合は、それらのいずれかを印刷できます。(そして、そのうちの1つだけを印刷します。)たとえば<><<<><
、標準の魚と頑丈な魚:[<><][<<><]
、または高速の魚と標準の魚:として解釈できます[<><<][<><]
。したがって、どちら<>< <<><
か<><< <><
が有効な出力になります。
カニはただの楽しみです。彼らは開始かで終わらないので<
または>
、彼らは(少なくとも視覚)を識別する方がはるかに簡単です。たとえば、文字列
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
明らかに出力を生成します
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
出力を生成しない文字列の例(1行に1つ)を次に示します。
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
先頭の文字列を削除すると、ここの最後の文字列を解析できます<
。
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(他の可能な出力があるかもしれません。)
詳細
- 入力文字列には文字のみが含まれます
<>,.
。 - 入力文字列は少なくとも1文字の長さになります。
- 一般的な方法(コマンドライン、標準入力)で入力を取り、標準出力に出力します。
- バイト単位の最短コードが優先されます。(便利なバイトカウンター。)Tiebreakerは以前の投稿です。