![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8c93a10b9e7053050d138bf8968b9e12.png)
#include <bits/stdc++.h>
using namespace std;
map<char, int> M;
void fill() {
M['H'] = 1;
M['C'] = 12;
M['N'] = 14;
M['O'] = 16;
M['F'] = 19;
M['P'] = 31;
M['S'] = 32;
M['K'] = 39;
}
int main() {
fill();
int T;
cin >> T;
while (T--) {
int tot = 0;
string str;
cin >> str;
for (int i = 0; i < str.length(); i++) {
if (i == str.length()-1|| isalpha(str[i + 1])) {
} else {
tot += M[str[i]] * (str[i + 1] - '0');
continue;
}
if (isalpha(str[i])) {
tot += M[str[i]];
continue;
}
}
cout << tot << endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int c[8]={1,12,14,16,19,31,32,39};
char s[8]={'H','C','N','O','F','P','S','K'};
int main(){
int n;
cin>>n;
while(n--){
string str;
cin>>str;
int temp=0;
for(int i=0;i<str.length();i++){
if((str[i+1]-'0'>0&&str[i+1]-'0'<9)&&(i+1<=str.length()-1)){
for(int j=0;j<8;j++){
if(str[i]==s[j]){
temp+=c[j]*(str[i+1]-'0');
i++;
break;
}
}
}
else {
for(int j=0;j<8;j++){
if(str[i]==s[j]){
temp+=c[j];
break;
}
}
}
}
cout<<temp<<endl;
}
return 0;
}