啥问题呀
查看原帖
啥问题呀
332549
幽灵特工楼主2021/1/4 12:54
#include<bits/stdc++.h>
using namespace std;
string s;
stack <long long> k;
int main(){
	cin>>s;
	for(int i=0;s[i]!='@';i++){
		int w=0;
		switch (s[i]){
			case '+':{
				long long a=k.top();
				k.pop();
				long long b=k.top();
				k.pop();
				k.push(a+b);
				break;
			}
			case '-':{
				long long a=k.top();
				k.pop();
				long long b=k.top();
				k.pop();
				k.push(a-b);
				break;
			}
			case '*':{
				long long a=k.top();
				k.pop();
				long long b=k.top();
				k.pop();
				k.push(a*b);
				break;
			}
			case '/':{
				long long a=k.top();
				k.pop();
				long long b=k.top();
				k.pop();
				k.push(a/b);
				break;
			}
			case '.':{
				k.push(w);
				break;
			}
			default:{
				w+=s[i]-'0';
				break;
			}
		}
	}
	long long ans=k.top();
	cout<<ans;
}
2021/1/4 12:54
加载中...