P9857 [CCC 2008 J4] From Prefix to Postfix

题目描述

前缀表示法是一种非传统的算术表达式书写方式。标准的算术表达式书写方式,也被称为中缀表示法,将二元运算符置于操作数之间,例如 $3 + 4$,而在前缀表示法中,运算符置于操作数之前,例如 $+$ $3$ $4$。类似地,$5 - 2$ 的前缀表示法是 $-$ $5$ $2$。具有二元运算符的前缀表达式的一个优点是无需括号,因为运算顺序没有歧义。例如,$5 - (4 - 2)$ 的前缀表示为 $-5$ $-$ $4$ $2$,而 $(5 - 4) - 2$ 的前缀表示为 $-$ $-$ $5$ $4$ $2$。前缀表示法也被称为波兰表示法,以纪念波兰逻辑学家 Jan Łukasiewicz,他在 1920 年左右发明了这种表示法。 类似地,在后缀表示法或逆波兰表示法中,运算符置于操作数之后。 例如,中缀表达式 $(5 - 4) - 2$ 的后缀表示为 $5$ $4$ $-$ $2$ $-$。你的任务是编写一个程序,将前缀算术表达式转换为后缀算术表达式。

输入格式

每行包含一个算术前缀表达式。运算符为 $+$ 和 $-$,数字均为单位数的十进制数。运算符和数字之间用一个空格分隔,行首没有空格。输入的结束由单独一行的 $0$ 标记。可以假设每个输入行包含少于 20 个运算符的有效前缀表达式。

输出格式

将每个表达式转换为后缀表示法,并在单独的行上输出。数字和运算符之间至少用一个空格分隔。最后的 $0$ 不翻译。

说明/提示

题面翻译由 ChatGPT-4o 提供。