P13419
题意简述
给定一个字符串,每个字母都对应一个数字,而计算时需将对应值 +1,求字符串每个字母的值的和。
简要思路
观察图片,我们注意到:A B C 对应
所以可以考虑用数组来存储每个对应的值,如下:
int s [30] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9} ;
再将字母强制转换成数字就行了。
AC代码
#include <bits/stdc++.h>
#define int long long
using namespace std ;
int s [30] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9} ;
//存储对应字母的对应值
char a [20] ;
int len , ans ;
signed main () {
ios::sync_with_stdio (false) ;
cin.tie (NULL) ; cout.tie (NULL) ;
cin >> a + 1 ;
len = strlen (a + 1) ;
for (int i = 1 ; i <= len ; i ++)
ans += s [a [i] - 'A'] + 1 ; //强制转换,要注意 +1
cout << ans ;
return 0 ;
}