#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 100;
int t,num[4];//记录四个元素出现的次数
double ans;
char s[maxn];
int main(){
scanf("%d",&t);
while(t--){
memset(num,0,sizeof(num));
scanf("%s",s);//输入字符串
int len = strlen(s);
for(int i = 0;i < len;i++){
if(s[i] >= '0' && s[i] <= '9') continue;
int k;
if(s[i] == 'C') k = 0;
else if(s[i] == 'H') k = 1;
else if(s[i] == 'O') k = 2;
else if(s[i] == 'N') k = 3;
num[k]++;//先加上 防止后面是元素,如果后面数字再多-1就好
if(i + 1 < len && s[i + 1] >= '0' && s[i + 1] <= '9')
if(i + 2 < len && s[i + 2] >= '0' && s[i + 2] <= '9') num[k] += (s[i + 1] - '0') * 10 + (s[i + 2] - '0')- 1;
else num[k] += (s[i + 1] - '0') - 1;//因为最多两位数所以就判断两次即可
}
printf("%.3f\n",num[0] * 12.01 + num[1] * 1.008 + num[2] * 16.00 + num[3] * 14.01);
}
return 0;
}
紫书字符
最新推荐文章于 2021-03-18 21:30:48 发布