이 다섯 가지 ASCII 아트 바다 생물을 고려하십시오.
- 표준 물고기 :
><>또는<>< - 빠른 물고기 :
>><>또는<><< - 건장한 물고기 :
><>>또는<<>< - 신축성있는 물고기 :
><<<>또는<>>>< - 게:
,<..>,
임의의 문자열을 허용하는 프로그램을 작성하십시오 <>,.. 전체 스트링을 겹치지 않는 일련의 바다 생물 로 해석하는 방법이 있다면 , 생물 사이에 삽입 된 단일 공백으로 스트링을 다시 인쇄해야합니다. 이 해석이 불가능하면 아무것도 출력되지 않아야합니다 (프로그램은 자동으로 종료됩니다).
예를 들어, 문자열 <><><>은 두 개의 표준 피쉬 백투백으로 해석 될 수 있습니다. 해당 출력은입니다 <>< ><>.
또 다른 예로, 문자열 ><>><>>에는 ...의 "인스턴스"가 포함
됩니다 (괄호는 지표로만 추가됨)
- 몇 가지 표준 물고기 :
[><>][><>]> - 빠른 물고기 :
><[>><>]> - 몇 가지 방법으로 건장한 물고기 :
[><>>]<>>및><>[><>>]
그러나 표준 물고기와 건장한 물고기의 [><>][><>>]쌍만 물고기를 공유하는 문자없이 겹침없이 문자열의 전체 길이에 걸쳐 있습니다. 따라서에 해당하는 출력 ><>><>>은 ><> ><>>입니다.
문자열을 해석 할 수있는 여러 방법이있는 경우 그 중 하나를 인쇄 할 수 있습니다. (만 인쇄 한 . 중)를 예를 들어, <><<<><표준 물고기와 튼튼한 물고기로 해석 될 수있다 [<><][<<><], 또는 빠른 물고기와 표준 물고기 : [<><<][<><]. 따라서 <>< <<><또는 <><< <><유효한 출력이됩니다.
게는 단지 재미입니다. 그들이 시작하거나 끝나지 않기 때문에 <또는 >, 그들은 (적어도 시각)를 식별하기가 훨씬 쉽다. 예를 들어, 문자열
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
분명히 출력을 생성합니다
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
다음은 출력을 생성하지 않는 문자열 (한 줄에 하나씩)의 예입니다.
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
선행을 제거하면 여기에서 마지막 문자열을 구문 분석 할 수 있습니다 <.
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(가능한 다른 출력이있을 수 있습니다.)
세부
- 입력 문자열에는 문자 만 포함됩니다
<>,.. - 입력 문자열은 하나 이상의 문자 길이입니다.
- 일반적인 방법 (명령 행, stdin)으로 입력을 받고 stdout으로 출력하십시오.
- 바이트 단위의 가장 짧은 코드가 이깁니다. ( 핸디 바이트 카운터. ) Tiebreaker는 이전 게시물입니다.






