下载的测试数据都通过了,真的不明白怎么回事
以下是本蒟蒻的代码,请大佬指教...
#include<bits/stdc++.h>
using namespace std;
stack<int> s1;
stack<char> s2;
string str;
int main(){
cin>>str;
int num = 0;
for(int i = 0;i < str.length();i++){
if(str[i]<='9'&&str[i]>='0'){
num = num*10+str[i]-'0';
num %= 10000;
}else{
s1.push(num);
num = 0;
if(s2.top() == '*'){
int a = s1.top();
s1.pop();
int b = s1.top();
s1.pop();
s1.push(a*b%1000);
s2.pop();
}
s2.push(str[i]);
}
}
s1.push(num);
num = 0;
if(s2.top() == '*'){
int a = s1.top();
s1.pop();
int b = s1.top();
s1.pop();
s1.push(a*b%1000);
s2.pop();
}
int ans = 0;
int k = s1.size();
for(int i = 0;i < k;i++){
ans += s1.top();
s1.pop();
ans %= 10000;
}
cout<<ans;
return 0;
}