C1018 - 快速校验和
题目描述
校验和是一种算法,用于扫描数据包并返回一个单一数字。其思想是,如果数据包发生改变,校验和也会改变,因此校验和常用于检测传输错误、验证文档内容以及许多其他需要检测数据不良变化的情况。
对于这个问题,你将实现一个称为Quicksum的校验和算法。一个Quicksum数据包只允许使用大写字母和空格。它始终以大写字母开头和结尾。除此之外,空格和字母可以以任何组合出现,包括连续的空格。
一个Quicksum是数据包中每个字符位置乘以该字符值的乘积之和。空格对应的值为0,而字母对应的值等于它们在字母表中的位置。因此,A=1,B=2,等等,直到Z=26。以下是数据包“ACM”和“MID CENTRAL”的示例Quicksum计算:
ACM: 1*1 + 2*3 + 3*13 = 46
MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650
输入格式
1行字符串,只包含大写字母和空格,以大写字母开头和结尾,中间可以包含空格,字符串包含1到255个字符
输出格式
一行,一个正整数,输出字符串的Quicksum校验和值
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| ACM | 46 |
| A C M | 75 |
| REGIONAL PROGRAMMING CONTEST | 4690 |
数据范围与提示
100%的数据:1 ≤ 字符串长度 ≤ 255
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1018.in,输出文件名为:C1018.out