#include <bits/stdc++.h>
using namespace std;
int main() {
int T;
cin >> T;
while (T --) {
string s;
cin >> s;
int len = s.length();
unordered_map <char, int> mp;
mp['C'] = mp['H'] = mp['O'] = mp['N'] = 0;
for (int i = 0; i < len; i ++) {
int j = i + 1;
int id = !isdigit(s[j]);
while (isdigit(s[j]))
id = id * 10 + s[j ++] - '0';
mp[s[i]] += id;
i = j - 1;
}
double ans = 12.01 * mp['C'] + 1.008 * mp['H'] + 16.00 * mp['O'] + 14.01 * mp['N'];
printf ("%.3lf\n", ans);
}
return 0;
}
为什么一直是 Waiting
,难道我的代码有问题吗?