好多都是之前的原题,甚至有上次第二届全国大学生信息技术认证挑战赛的原题,刚打完又来一遍,没绷住。
A. 手机
原题之一,具体出处忘了
最无脑的方法直接用map记录每个按下的值就行了,代码仅供参考。
#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;
map<int,int>f;
void solve(){
string s;
getline(cin,s);
f[' ']=1;
f['a']=1;
f['b']=2;
f['c']=3;
f['d']=1;
f['e']=2;
f['f']=3;
f['g']=1;
f['h']=2;
f['i']=3;
f['j']=1;
f['k']=2;
f['l']=3;
f['m']=1;
f['n']=2;
f['o']=3;
f['p']=1;
f['q']=2;
f['r']=3;
f['s']=4;
f['t']=1;
f['u']=2;
f['v']=3;
f['w']=1;
f['x']=2;
f['y']=3;
f['z']=4;
f['*']=1;
f['0']=1;
f['#']=1;
int ans=0;
per(i,0,s.length()-1){
ans+=f[s[i]];
}
cout<<ans;
}
signed main(){
ios::sync_with_stdio(false),cin.tie(nullptr);
int t=1;
while(t--)solve();
return 0;
}