2 条题解

  • 0
    @ 2024-12-8 20:21:41
    //半成品别复制 只是单纯懒得再写一次了
    #include<bits/stdc++.h>
    using namespace std;
    const int N = 1e4 + 10;
    string a;
    stack<long long> st;
    long long sum;
    void calc(char ob)
    {
    	long long a = st.top();
    	st.pop();
    	long long b = st.top();
    	st.pop();
    	if(ob == '+') st.push(a + b);
    	else if(ob == '-') st.push(a - b);
    	else if(ob == '*') st.push(a * b);
    	else if(ob == '/') st.push(a / b);
    }
    int main(){
    	getline(cin,a);
    	int len = a.size();
    	for(int i = 0;i < len;i++)
    	{
    	
    		    if(a[i] == '@') break;
    		    if(a[i] >= '0' && a[i] <= '9') 
    			    sum = sum * 10 + a[i] - '0';
    			else if(a[i] == ' ')
    			{
    			    st.push(sum);
    			    sum = 0;
    			}    
    			else
    			{
    				calc(a[i]);
    			}
        }
        cout << st.top();
    	return 0;
    }
    

    信息

    ID
    62
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    104
    已通过
    30
    上传者