这个字符串坑在可能有换行符,因此要特判(别问我怎么知道的)
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int cnt=0;
map<char,int> mp;
mp['a']=1,mp['b']=2,mp['c']=3,mp['d']=1,mp['e']=2,mp['f']=3,mp['g']=1,mp['h']=2,mp['i']=3,mp['j']=1,mp['k']=2,mp['l']=3,mp['m']=1,mp['n']=2,mp['o']=3,mp['p']=1,mp['q']=2,mp['r']=3,mp['s']=4,mp['t']=1,mp['u']=2,mp['v']=3,mp['w']=1,mp['x']=2,mp['y']=3,mp['z']=4;
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){cnt+=isalpha(s[i])?mp[s[i]]:1;}
cout<<cnt<<endl;
return 0;
}