해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
이 문제에서는 Brainfuck에서 파생된 2D 프로그래밍 언어를 위한 간단한 코드 생성기를 작성한다.
이 언어의 코드는 문자 '.'와 'X'로 이루어진 직사각형 격자이다. 코드는 다음과 같이 Brainfuck 프로그램으로 변환된다. 문자들을 일반적인 순서(위에서 아래로, 왼쪽에서 오른쪽으로)로 읽으며, 각 'X' 문자는 실행될 Brainfuck 명령어로 변환된다. 명령어는 다음 변환표에 따라 'X' 문자의 왼쪽, 위쪽, 오른쪽 이웃으로 결정된다.

문자열 하나가 주어진다. 이 문자열을 출력하는, 설명한 언어로 작성된 프로그램을 출력한다.
채점에 사용되는 언어 인터프리터는 여기에서 내려받을 수 있다: https://assets.codeforces.com/rounds/952/puzzling-interpreter.cpp (코드를 컴파일하려면 C++11을 사용한다). 다음과 같은 구현 세부 사항에 유의한다.
입력은 33 ('!') 이상 122 ('z') 이하의 ASCII 코드를 갖는 문자들로 이루어진 문자열 하나이다. 문자열의 길이는 1 이상 10 이하이다.
실행했을 때 주어진 메시지를 출력하는, 설명한 언어로 작성된 프로그램을 출력한다.
$$$..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
..
X.
X.
X.
X.
예제는 다음 Brainfuck 프로그램에 해당한다.
-
>+<
>+++<
>+++++<
>+++++++<
>+++++++++<
>+++++++++++<
< >
.
.
.
삼각형 블록은 첫 번째 메모리 셀을 감소시키고 두 번째 메모리 셀의 값을 36으로 설정한다. 이는 '' 문자의 ASCII 코드이며, 이 과정을 세 번 수행한다.