Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите программу, которая вводит строку длиной от 1 до 80 символов,
содержащую арифметическое выражение, и выводит
его структуру "графически" в виде дерева.
Арифметическое выражение состоит из переменных
(обозначаемых одной прописной латинской буквой),
знаков арифметических действий (+, -, *, /),
и круглых скобок. Приоритет операций * и / выше,
чем у операций + и -.
Все операции являются левоассоциативными, т.е. выражение A+B+C
интерпретируется как (A+B)+C, а не A+(B+C).
Скобки изменяют порядок вычислений.
Операция смены знака не используется.
Арифметическое выражение корректно и не содержит никаких других символов,
кроме указанных, в том числе пробелов. При выводе
структуры выражения используется схема на рисунке.
Для изображения вертикальных линий используется символ '|' (вертикальная черта),
а для горизонтальных – символ '_' (подчеркивание).
Пример вывода
-
|_+
| |_A
| |_B
|_*
|_C
|_D