第二题代码 #include<bits/stdc++.h> using namespace std; map<string,int> m; int getVal(string val){     string tmp;     vector<int> arr;     for(int i=0;i<val.length();i++){         if(val[i]!='+')             tmp+=val[i];         if(val[i]=='+'||i==val.length()-1){             int v;             if(tmp[0]>'9'){                 if(m.find(tmp)!=m.end())                     v=m[tmp];                 else                     return -1;             }else{                 v=stoi(tmp);             }             arr.push_back(v);             tmp="";         }     }     int sum=0;     for(auto v:arr)         sum+=v;     return sum; } int main() {     int n;     cin>>n;     vector<string> v;     string s;     getline(cin,s);     for(int i=0;i<n;i++){         getline(cin,s);         string tmp;         for(int j=0;j<s.length();j++){             if(s[j]==' ')                 continue;             tmp+=s[j];         }         v.push_back(tmp);     }     int res=0;     for(auto s:v){         cout<<s<<endl;         int index=s.find("=");         string key=s.substr(0,index);         string val=s.substr(index+1);         int value=getVal(val);         if(value==-1){             cout<<"NA"<<endl;             return 0;         }         m[key]=value;         res=value;     }     cout<<res<<endl;     return 0; }
点赞 1

相关推荐

有气魄的马来熊在摸鱼:我爱vivo 马上换手机 vivo我爱你!!!
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务