YZOJ P3314 计算器

YZOJ P3314 计算器

时间限制:1000MS      内存限制:524288KB

出题人:zzx

难度: \(3.6\)

  • 题目描述

你打算设计一个简单的计算器,支持计算简单的表达式。

为了简单起见,所有运算涉及的数均为整数(可以是负数),运算包含 +(加)、 -(减)、 *(乘)三种。计算时,按照先乘后加减的顺序计算,同级运算从左到右进行。表达式中可能有括号,应先计算括号内的结果,括号可能有嵌套。

形式化地,表达式的格式如下:(不含 <>

< 表达式 > :  < 运算数 1>< 运算符 1>< 运算数 2>< 运算符 2> \(\cdots\) < 运算符 \(k-1\)>< 运算数 \(k\)>( \(k\) 为正整数)

其中,运算数可以是整数,也可以是 (< 表达式 >) -(< 表达式 >) 的形式,即包含在括号内的表达式。运算符为 +-* 之一。保证任意两个 – 不相邻。

请你编写计算器的程序,计算给定的表达式的结果。

  • 输入格式

输入包含一个字符串 s,表示待计算的表达式,保证表达式符合格式,没有空格。

  • 输出格式

输出一个整数,表示计算结果。当计算结果不为 0 时,要求最高位非 0。

  • 样例输入

  • 样例输出

  • 数据规模与约定

因为是水题,所以没有具体的数据范围

\(1 \leq \left| s \right| \leq 10^4\)

 

 

 


 

 

 

表达式计算的本来我已经写过两篇了,这里就不多说了。

丧题,想题2s,码题2h,调题2d,达成成就:人生中第一次写高精负数!(\(Bouns -999999999\cdots\cdots\)

 

 

 

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注