/* 这是胡大牛给我们的讲座 Orz */ #include <iostream> #include <sstream> #include <map> #include <string> using namespace std; map<string, int> df; int main() { int t; cin >> t; while(t--) { int n; cin >> n; string a, b; int c; df.clear(); for(int i = 1; i < n; i ++) { cin >> a >> b >> c; df[a] = c; } string str; getchar(); // 接受回车符 getline(cin, str); stringstream ss(str); // 定义输入流 string str1; int sign = 1; int sum = 0; while( ss >> str1) { if(str1 == "-") { sign = -1; } if(str1 == "+") { sign = 1; } if(str1 == "=") { break; } if(isalpha(str1[0])) // 判断是否是字母 { if(df.find(str1) != df.end()) { sum += df[str1] * sign; } } else { int temp; temp = atoi(str1.c_str());// 转换成char 在转化成int sum += temp * sign; } } cout << sum << endl; } }