Pertimbangkan lima makhluk laut seni ASCII ini:
- Ikan standar:
><>
atau<><
- Ikan cepat:
>><>
atau<><<
- Ikan kokoh:
><>>
atau<<><
- Ikan melar:
><<<>
atau<>>><
- Kepiting:
,<..>,
Tulis program yang menerima string karakter yang berubah-ubah <>,.
. Jika ada cara untuk menafsirkan seluruh string sebagai serangkaian makhluk laut yang tidak tumpang tindih, maka string tersebut harus dicetak ulang dengan spasi tunggal yang disisipkan di antara makhluk. Jika penafsiran ini tidak mungkin, tidak ada yang harus dihasilkan (program diam-diam berakhir).
Sebagai contoh, string <><><>
dapat diartikan sebagai dua ikan standar back-to-back. Output yang sesuai adalah<>< ><>
.
Sebagai contoh lain, string ><>><>>
berisi "instance" dari ...
(tanda kurung hanya ditambahkan sebagai indikator)
- beberapa ikan standar:
[><>][><>]>
- ikan cepat:
><[>><>]>
- ikan yang kokoh dalam beberapa cara:
[><>>]<>>
dan><>[><>>]
namun, hanya pasangan ikan standar dan ikan kokoh yang [><>][><>>]
membentang sepanjang tali tanpa karakter berbagi ikan (tanpa tumpang tindih). Jadi output yang sesuai ><>><>>
adalah ><> ><>>
.
Jika ada beberapa cara string dapat ditafsirkan, Anda dapat mencetak salah satu dari mereka. (Dan hanya mencetak satu . Dari mereka) Sebagai contoh, <><<<><
dapat diartikan sebagai ikan standar dan ikan kokoh: [<><][<<><]
, atau sebagai ikan cepat dan ikan standar: [<><<][<><]
. Jadi salah satu <>< <<><
atau <><< <><
akan menjadi output yang valid.
Kepiting hanya untuk bersenang-senang. Karena mereka tidak memulai atau mengakhiri dengan <
atau >
, mereka lebih mudah untuk diidentifikasi (setidaknya secara visual). Misalnya, string
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
jelas akan menghasilkan output
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
Berikut adalah beberapa contoh string (satu per baris) yang tidak menghasilkan output:
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
String terakhir di sini dapat diuraikan jika Anda menghapus yang memimpin <
:
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(Mungkin ada output lain yang mungkin.)
Detail
- String input hanya akan berisi karakter
<>,.
. - String input akan memiliki setidaknya satu karakter.
- Ambil input dengan cara biasa (baris perintah, stdin) dan output ke stdout.
- Kode terpendek dalam byte menang. ( Penghitung byte berguna. ) Tiebreaker adalah posting sebelumnya.