【题目描述】
传送门
【题目分析】
氵
【AC代码】
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<cstdlib>
#include<set>
#include<map>
#include<vector>
#include<cctype>using namespace std;typedef long long ll;
const int INF=0x3f3f3f3f;
const int MAXN=1e2+5;
map<char,double>num;
char s[MAXN],c;
double ans;int main()
{num['C']=12.01; num['H']=1.008; num['O']=16.00; num['N']=14.01;int T,len,cnt;scanf("%d",&T);while(T--){ans=0;scanf("%s",s);len=strlen(s);for(int i=0;i<len;i++){c=s[i];int j=i+1;if(isdigit(s[j])){cnt=0;while(isdigit(s[j])){cnt=cnt*10+s[j]-'0';j++; } i=j-1;}else{cnt=1;}ans+=num[c]*cnt;}printf("%.3f\n",ans);}return 0;
}