题目描述
小科在玩跳房子的游戏,首先,他会在地上画上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 ABCDE
输出样例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 <iomanip>
#include <cstdio>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int n,sum=0,cnt=0;
string s;
cin>>n;
cin.get();
getline(cin,s);
for(int i=0;i<=s.size()-1;i++){
if(int(s[i])==32){
sum+=50;
}
else{
sum+=s[i]-64;
}
}
cout<<sum;
return 0;
}
该博客介绍了如何计算小科在跳房子游戏中根据每个方格内字符得到的积分。游戏有N个方格,编号从1到N,方格内可能是大写字母(A-Z)或空格。大写字母对应积分1到26,空格对应50分。程序通过读取输入的方格字符来计算总积分,并给出了样例解释及代码实现。
1056

被折叠的 条评论
为什么被折叠?



