【题解-洛谷】B4278 [蓝桥杯青少年组国赛 2023] 简单算术题

题目:B4278 [蓝桥杯青少年组国赛 2023] 简单算术题

题目描述

给定一道没有括号的四则混合运算算术题(可能包含多余的空格),请编程计算出结果。运算规则如下:

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

例如 :当算术题为 2 + 3 ∗ 4 − 10 / 6 + 1 / 2 ∗ 4 \tt{2 + 3*4 - 10/6 + 1/2*4} 2+3∗4−10/6+1/2∗4 时:

  • 优先计算乘除法,有 3 ∗ 4 = 12 \tt{3*4=12} 3∗4=12, 10 / 6 = 1 \tt{10/6=1} 10/6=1, 1 / 2 ∗ 4 = 0 \tt{1/2*4=0} 1/2∗4=0;
  • 然后计算加减法, 2 + 3 ∗ 4 − 10 / 6 + 1 / 2 ∗ 4 = 2 + 12 − 1 + 0 = 13 \tt{2+3*4-10/6+1/2*4} = \tt{2+12-1+0} = \tt{13} 2+3∗4−10/6+1/2∗4=2+12−1+0=13,故输出 13 13 13。

输入格式

输入一个字符串,表示算术题:

  • 字符串长度 5 ≤ 5 \leq 5≤ 长度 ≤ 100000 \leq 100000 ≤100000;
  • 字符串中只包含数字字符以及 + \tt{+} +, − \tt{-} −, ∗ \tt{*} ∗, / \tt{/} / 运算符;
  • 不含括号,可能包含空格;
  • 算式中的运算数范围: 1 ≤ 1 \leq 1≤ 运算数 ≤ 200 \leq 200 ≤200。

输出格式

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

输入输出样例 #1

输入 #1

复制代码
2+3*4-10/6+1/2*4

输出 #1

复制代码
13

代码

cpp 复制代码
#include<iostream>

using namespace std;

typedef long long LL;

const int Maxst = 100000 + 10;

LL st[Maxst], tt;

void insert(LL x){
    st[++ tt] = x;
}

void dele(){
    tt --;
}

bool isempty(){
    return tt <= 0;
}

int main(){
    LL x;
    cin >> x;
    insert(x);

    char op;
    while(cin >> op >> x){
        if(op == '*'){
            LL res = st[tt] * x;
            dele();
            insert(res);
        }
        else if(op == '/'){
            LL res = st[tt] / x;
            dele();
            insert(res);
        }
        else if(op == '+'){
            insert(x);
        }
        else{
            insert(-x);
        }
    }

    LL res = 0;
    while(!isempty()){
        res += st[tt];
        dele();
    }

    cout << res;
    return 0;
}

结果


相关推荐
王哥儿聊AI8 分钟前
Lynx:新一代个性化视频生成模型,单图即可生成视频,重新定义身份一致性与视觉质量
人工智能·算法·安全·机器学习·音视频·软件工程
手握风云-2 小时前
优选算法的寻踪契合:字符串专题
算法
闭着眼睛学算法2 小时前
【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】
java·c语言·javascript·c++·python·算法·华为od
IT古董2 小时前
【第五章:计算机视觉-项目实战之目标检测实战】2.目标检测实战:中国交通标志检测-(2)中国交通标志检测数据格式转化与读取
算法·目标检测·计算机视觉
MobotStone2 小时前
LLM 采样入门到进阶:理解与实践 Top-K、Top-P、温度控制
算法
杨小码不BUG3 小时前
CSP-J/S初赛知识点精讲-图论
c++·算法·图论··编码·csp-j/s初赛
LeaderSheepH4 小时前
常见的排序算法
数据结构·算法·排序算法
周杰伦_Jay5 小时前
【图文详解】强化学习核心框架、数学基础、分类、应用场景
人工智能·科技·算法·机器学习·计算机视觉·分类·数据挖掘
violet-lz5 小时前
Linux静态库与共享库(动态库)全面详解:从创建到应用
算法
贝塔实验室5 小时前
ADMM 算法的基本概念
算法·数学建模·设计模式·矩阵·动态规划·软件构建·傅立叶分析