题目描述
小科在玩跳房子的游戏,首先,他会在地上画上N个连续的方格,然后在每个方格中写上一个大写字母(A-Z)或者一个空格。小科把这N个方格从左向右分别编号为1...N。
游戏开始时小科站在1号方格的左边,首先他会跳到1号方格,然后每次向右跳一个方格,直到跳到方格N。小科每跳到一个方格都会获得一些积分(包括方格1和方格N),获得的积分和方格中的字符有关,确切的说,如果方格中是大写字母A-Z,那么可以获得的积分分别为1到26,如果方格中是空格,那么可以获得50分。给定方格中的字符信息,请帮助小科计算他可以获得多少积分。
输入格式
第1行:一个正数N,表示方格的数量。
第2行:一个长度为N的字符串,分别表示方格1到方格N中的字符。
输出格式
1行:一个整数,表示小科可以获得的总积分。
输入输出样例
输入样例1:
5
输出样例1:
15
输入样例2:
5 AB C
输出样例2:
106
说明
【数据范围】
对于100%数据:2 ≤ N ≤ 100。
【样例说明】
样例1:
共5个方格,从方格1到方格5的字符分别为'A','B','C','D','E'。得分为:1+2+3+4+5 = 15。
样例2
共5个方格,从方格1到方格5的字符分别为'A','B',' ',' ','C'。得分为:1+2+50+50+3 = 106。
【耗时限制】1000ms 【内存限制】256MB
代码
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int main() {
string s;
int n,cnt=0;
cin>>n;
cin.get();
getline(cin,s);
for(int i=0;i<=n-1;i++){
if(s[i]==' '){
cnt+=50;
}else{
cnt+=s[i]-64;
}
}
cout<<cnt;
return 0;
}