UVA1586求助
  • 板块题目总版
  • 楼主ttq012
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/10/21 10:51
  • 上次更新2023/11/4 03:05:22
查看原帖
UVA1586求助
378467
ttq012楼主2021/10/21 10:51
#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,难道我的代码有问题吗?

2021/10/21 10:51
加载中...