printРабочее место участника

printЗадачи

1185. Дерево

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

Напишите программу, которая вводит строку длиной от 1 до 80 символов, содержащую арифметическое выражение, и выводит его структуру "графически" в виде дерева.
Арифметическое выражение состоит из переменных (обозначаемых одной прописной латинской буквой), знаков арифметических действий (+, -, *, /), и круглых скобок. Приоритет операций * и / выше, чем у операций + и -. Все операции являются левоассоциативными, т.е. выражение A+B+C интерпретируется как (A+B)+C, а не A+(B+C). Скобки изменяют порядок вычислений. Операция смены знака не используется. Арифметическое выражение корректно и не содержит никаких других символов, кроме указанных, в том числе пробелов. При выводе структуры выражения используется схема на рисунке. Для изображения вертикальных линий используется символ '|' (вертикальная черта), а для горизонтальных – символ '_' (подчеркивание).

Пример ввода

A+B-C*D

Пример вывода

-
|_+
| |_A
| |_B
|_*
  |_C
  |_D
loading