#LQB0045. 简单算术题

简单算术题

题目描述

给定一道不含括号的四则混合运算算术题(字符串中可能包含多余空格),请你编程计算出其结果。

运算规则如下:

  1. 同时存在乘法、除法与加法、减法时,先计算乘除,再计算加减;
  2. 同级运算按从左到右的顺序计算;
  3. 所有除法运算只保留整数部分(直接舍弃小数部分)。

例如:算式为 2+3410/6+1/242+3*4-10/6+1/2*4。先算乘除:34=123*4=1210/6=110/6=11/24=01/2*4=0;再算加减:2+121+0=132+12-1+0=13,因此输出 1313

输入格式

输入一个字符串,表示算术题。字符串长度满足 55\le 长度 105\le 10^5,字符串中只包含空格、数字字符以及运算符 ++-*//,不含括号。
算式中的运算数范围:11\le 运算数 200\le 200

输出格式

输出一个整数,表示算术题的计算结果。题目数据保证算式的每一步运算结果都在 2×109-2\times 10^92×1092\times 10^9 之间。

样例输入输出

样例输入1

2+3*4-10/6+1/2*4

样例输出1

13

数据范围与测试点说明

  • 字符串长度:55\le 长度 105\le 10^5
  • 运算数范围:11\le 运算数 200\le 200
  • 每一步运算结果范围:2×109-2\times 10^92×1092\times 10^9

时间限制与内存限制

  • 时间限制:11
  • 内存限制:10241024 KiB