#include<bits/stdc++.h>
//#include <unordered_map>
using namespace std;
const int N=1010;int n;int MAX,MIN;
//unordered_map<string, string> umap;
//unordered_map<char,int>h={{'+',1},{{'-',1},'d',2}};
string s;int num[N];
int main()
{
cin>>s;char c;int sign=1;
for(int i=0;i<s.length();){
int x=0;int y=0;
//cout<<s[i]<<endl;
while(i<s.length()&&s[i]!='+'&&s[i]!='-'&&s[i]!='d')
x=x*10+(s[i++]-'0');//!!!
//cout<<x<<endl;
if(s[i]=='d'){
if(x==0)x=1;i++;//!!!
while(i<s.length()&&s[i]!='+'&&s[i]!='-')
y=y*10+s[i++]-'0';//!!!
num[y]+=x;//cout<<y<<" "<<num[y]<<endl;
if(sign==1){
MAX+=y*x;MIN+=x;
}else{
MAX-=x;MIN-=y*x;
}
}else{
MAX+=sign*x;MIN+=sign*x;
}
if(i<s.length()){
char ca=s[i++];sign=ca=='+'?1:-1;
}
}
for(int i=0;i<1010;i++){
if(num[i]!=0)cout<<i<<" "<<num[i]<<endl;
}
cout<<MIN<<" "<<MAX;
return 0;
}
RC-u3 跑团机器人 题解
于 2023-07-07 18:57:30 首次发布