eolymp
bolt
Try our new interface for solving problems
Məsələlər

Скобки

Скобки

Для компьютера нет разницы между выражениями \textbf{(((x)+(y))(t))} и \textbf{(x+y)t}; но для человека есть - последнее легче прочитать. Когда для человека автоматически генерируются выражения, то для их простейшего восприятия они должны содержать наименьшее количество скобок. Считаем, что выражения содержат только две операции: сложение (+) и умножение (соприкосновение), и эти операции действуют только на переменные нижнего регистра. Рассмотрим грамматику для выражения \textbf{E}: \begin{verbatim} E : P | P '+' EP : F | F PF : V | '(' E ')'V : 'a' | 'b' | .. | 'z'\end{verbatim}Операторы сложения (\textbf{+}, как например в \textbf{x+y}) и умножения (соприкосновение, как например в \textbf{xy}) ассоциативны: \textbf{x+(y+z)=(x+y)+z=x+y+z} и \textbf{x(yz)=(xy)z=xyz}. Свойства коммутативности и дистрибутивности на эти операторы не накладываются. Скобки имеют наивысший приоритет, далее следует умножение, а затем сложение. \InputFile Состоит из нескольких тестов. Каждый тест содержится в одной строке - это выражение, удовлетворяющее грамматике. Каждое выражение содержит не более \textbf{1000} символов. \OutputFile Для каждого теста в отдельной строке вывести это же самое выражение, в котором удалены все ненужные скобки.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
x
(x+(y+z))
(x+(yz))
(x+y(x+t))
x+y+xt
Çıxış verilənləri #1
x
x+y+z
x+yz
x+y(x+t)
x+y+xt
Mənbə 2010 Rocky Mountain North America, October 30, Problem A