UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#205737#1691. 逆波兰表达式Caohanxuan_1112131000ms1236kbC++11782b2024-07-19 18:15:172024-07-19 20:10:08

answer

#include<bits/stdc++.h>
using namespace std;
int main(){
    stack<long long int> s;
    string str;
    while(cin>>str){
        if(str[0]=='+'||str[0]=='-'||str[0]=='*'){
            long long int b=s.top();
            s.pop();
            long long int a=s.top();
            s.pop();
            if(str[0]=='+')
                s.push(a+b);
            if(str[0]=='-')
                s.push(a-b);
            if(str[0]=='*')
                s.push(a*b);
        }
        else{
            long long int num=0;
            for(int i=0;i<str.size();i++){
                num=num*10+str[i]-'0';
            }
            s.push(num);
        }
        if(cin.get()=='\n'){
        	break;
		}
            
    }
    cout<<s.top();
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 20
Accepted
time: 0ms
memory: 1236kb

input:

23 456 239 + + 123 874 908 345 * - + + 23 44 664 * - +

output:

-340738

result:

ok single line: '-340738'

Test #2:

score: 20
Accepted
time: 0ms
memory: 1228kb

input:

1 2 3 4 - * + 5 6 * -

output:

-31

result:

ok single line: '-31'

Test #3:

score: 20
Accepted
time: 0ms
memory: 1232kb

input:

1 2 + 3 4 5 - * -

output:

6

result:

ok single line: '6'

Test #4:

score: 20
Accepted
time: 0ms
memory: 1228kb

input:

1 2 + 5 4 + *

output:

27

result:

ok single line: '27'

Test #5:

score: 20
Accepted
time: 0ms
memory: 1228kb

input:

35 26 - 28 5 + * 6 7 * -

output:

255

result:

ok single line: '255'