波兰表达式

GitHub跳转原题关系图返回列表

题意与原解析均从本地 OpenJudge 缓存迁移。

OJ: noi_openjudge

题目 ID: ch0202-1696

难度:未知

标签:

日期: 2026-07-30 23:01

题意

完整题面见同目录的 problem.md

思路

代码

cpp
#include <bits/stdc++.h>
using namespace std;
#define F(n) for(int i =1;i<=n;i++)

double calc() {
    string s;
    cin >> s;
    if( s[0] == '*'){
        return calc() * calc();
    }
    else if( s[0] == '-'){
        return calc() - calc();
    }
    else if( s[0] == '+'){
        return calc() + calc();
    }
    else if( s[0] == '/'){
        return calc() / calc();
    }
    else {
        return std::stod(s);
    }
}
int main(){
    double ans = calc();
    printf("%f\n",ans);
    return 0;
}

复杂度

总结