Розглянемо наступні п'ять арт-морських істот ASCII:
- Стандартна риба:
><>або<>< - Швидка риба:
>><>або<><< - Міцна риба:
><>>або<<>< - Еластична риба:
><<<>або<>>>< - Краб:
,<..>,
Напишіть програму, яка приймає довільну рядок символів <>,.. Якщо є спосіб інтерпретувати всю струну як серію непересічних морських істот, то рядок слід передрукувати з окремими пробілами, вставленими між істотами. Якщо ця інтерпретація неможлива, нічого не повинно виходити (програма мовчки закінчується).
Наприклад, рядок <><><>можна інтерпретувати як дві стандартні риби спиною до спини. Відповідний вихід був би <>< ><>.
Як інший приклад, рядок ><>><>>містить "екземпляри" з ...
(дужки додані лише як індикатори)
- пара стандартних риб:
[><>][><>]> - швидка риба:
><[>><>]> - міцна риба двома способами:
[><>>]<>>і><>[><>>]
однак лише спарювання стандартної риби та міцної риби [><>][><>>]охоплює всю довжину струни без символів спільного використання риб (без перекриттів). Таким чином, вихідний сигнал , відповідний ><>><>>це ><> ><>>.
Якщо існує декілька способів інтерпретації рядка, ви можете надрукувати будь-який з них. (І друкувати тільки один . З них) , наприклад, <><<<><може бути витлумачена як стандартна риба і міцна риба: [<><][<<><]або як невідкладне риби і стандартна риба: [<><<][<><]. Отже, <>< <<><або <><< <><був би дійсний вихід.
Краби просто для розваги. Оскільки вони не починаються або не закінчуються <або >, їх значно простіше визначити (принаймні візуально). Наприклад, рядок
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
Очевидно, це дасть вихід
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
Ось кілька прикладів рядків (по одному на рядок), які не дають результатів:
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
Останній рядок тут можна проаналізувати, якщо ви видалите ведучий <:
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(Можуть бути й інші можливі виходи.)
Деталі
- Рядок введення міститиме лише символи
<>,.. - Вхідний рядок буде принаймні одним символом.
- Візьміть введення будь-яким загальним способом (командний рядок, stdin) та виведіть у stdout.
- Виграє найкоротший код у байтах. ( Зручний байтовий лічильник. ) Tiebreaker - це раніше повідомлення.






