Олимпиадный тренинг

Задача . G. Калькулятор BF


В этой задаче вам предстоит написать несложный генератор калькуляторов на Brainfuck (https://en.wikipedia.org/wiki/Brainfuck).

Дано арифметическое выражение, состоящее из целых чисел от 0 до 255 и знаков сложения/вычитания между ними. Выведите программу на Brainfuck, которая при выполнении выведет результат вычисления этого выражения.

Интерпретатор Brainfuck, использующийся для проверки программ, довольно стандартный:

  • 30000 ячеек памяти.
  • ячейки памяти хранят числа от 0 до 255 со сложением и вычитанием по модулю 256.
  • ввод с консоли (команда ,) не поддерживается, но для этой задачи он и не нужен.
Входные данные

Входные данные состоят из одной строки, содержащей арифметическое выражение. Выражение будет содержать от 2 до 10 операндов, разделенных знаками операций (плюс и/или минус). Каждый операнд будет целым числом от 0 до 255, включительно. Гарантируется, что результат вычисления выражения также будет числом от 0 до 255, включительно (промежуточные результаты вычислений могут выходить за эти границы).

Выходные данные

Выведите программу на Brainfuck, которая при выполнении выведет результат вычисления этого выражения. Программа должна быть не длиннее 5000000 символов (включая символы, не являющиеся командами), и ее выполнение не должно требовать более 50000000 шагов.

Примечание

Вы можете скачать исходный код используемого интерпретатора Brainfuck по ссылке http://cfassets.m27.workers.dev/rounds/784/bf.cpp.


Примеры
Входные данныеВыходные данные
1 2+3
++>
+++>
<[<+>-]<
++++++++++++++++++++++++++++++++++++++++++++++++.
2 9-7
+++++++++>
+++++++>
<[<->-]<
++++++++++++++++++++++++++++++++++++++++++++++++.

time 2000 ms
memory 64 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя