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