#include <bits/stdc++.h>
#define int long long
using namespace std;
#define endl '\n'
void work()
{
string s ; cin >> s ;
vector<int>arr(4 , 0);
for(int i = 0 ; i < s.size() ; i++)
{
if('A' <= s[i] && s[i] <= 'Z')
{
arr[0]++;
}
else if('a' <= s[i] && s[i] <= 'z')
{
arr[1]++;
}
else if('0' <= s[i] && s[i] <= '9')
{
arr[2]++;
}
else
{
arr[3]++;
}
}
int ans = 0 ;
for(int i = 0 ; i < 4 ; i++)
{
if(arr[i] == 1)
{
if(i == 0 || i == 1)
{
ans += 25 ;
}
else if(i == 2)
{
ans += 9 ;
}
else
{
ans += 3 ;
}
continue ;
}
ans = ans + arr[i] * 65 ;
}
cout << ans << endl ;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
cin >> t;
while (t--)
{
work();
}
return 0;
}
写成了模拟题,思路是统计各种类型出现的次数,如果他只出现一次,它可以被替换成相同类型的其他字符,如果他出现多次,就可以被换成除了他之外所有的字符,一共有26 + 26 + 4 + 10 - 1 = 65 种

京公网安备 11010502036488号