#include <bits/stdc++.h> #include <vector> using namespace std; //统计字符出现次数,再按出现次数从多到少依次乘上26,25,24...1。 int main() { int n; string s; while (cin >> n) { while (n--) { cin >> s; vector<int> arr(26, 0); for (int i = 0; i < s.size(); i++) { if (s[i] >= 'a' && s[i] <= 'z') arr[s[i] - 'a']++;//小写-‘小写’的范围是1-26 else if(s[i] >= 'A' && s[i] <= 'Z') arr[s[i] - 'A']++;//大写-‘大写’的范围也是1-26,不需要+‘a’ } sort(arr.begin(), arr.end()); int k = 26; int ans = 0; for (int i = 25; i >= 0; i--) { ans += arr[i] * k; k--; } cout << ans << endl; } } } // 64 位输出请用 printf("%lld")