题库/Y1182

#Y1182. 中缀表达式值(expr)

    传统题 难度: 普及+ 标签>一本通基础语法与模拟
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1182 · 中缀表达式值(expr)

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交

中缀表达式值

题目描述

输入可能不合法的中缀算式,以@结束。允许非负整数、括号、+ - * /及一元负号,不允许幂、一元正号或隐式乘法。先转换为后缀序列,再用值栈求值。乘除优先于加减,一元负号更高;二元同级左结合,除法向0截断。

输入

一行ASCII文本,长度≤1001。合法形式必须恰有一个@且它是除尾部空白外的最后字符;@之前算式含空白长度≤1000。字面量0..10^9,每次中间值绝对值≤10^12。

输出

若词法/语法非法、缺结束符、除0或超出声明数值域,输出NO;否则输出精确整数。不额外输出后缀序列,但程序必须先生成后缀并用栈求值。

输入样例

1+2*8-9@

输出样例

8

本地修订说明

明确合法性门槛与NO;保留不含^和必须转后缀栈的要求,不将输入当后缀表达式直接计算。

本地评测数据为独立构造和核验的教学训练数据,非官方原版数据。

本地修订与来源

本题为经授权补全的本地训练修订版,原始公开题面保留在采集档案;修订了:明确合法性门槛与NO;保留不含^和必须转后缀栈的要求,不将输入当后缀表达式直接计算。。此处题意、范围和输出约定以本修订版为准,不冒称原站或官方原版。原题链接:https://ybt.ssoier.cn/problem_show.php?pid=1358。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共10个测试点,非原站或官方原始数据。总分100分。

题目信息

#2090
—

暂无提交记录

练习难度 普及+
时间限制
1000ms
内存限制
64MiB

题目标签

暂无标签
上传者