Quicksum校验和
Mid-Central USA 2006 (ZOJ2812, POJ3094)
校验和是一种算法,这种算法扫描数据包并返回一个值。这种算法的思想是当数据包被改变了,校验和同样要改变,因此校验和通常用来检查传输错误,用来确认传输内容的正确性。
本题要实现一种校验和算法,称为Quicksum。一个Quicksum数据包只允许包含大写字母和空格,且起始和终止字符都是大写字母。除此之外,空格和大写字母允许以任何的组合方式出现,包括连续的空格。校验和Quicksum是数据包中所有字符在数据包中的位置和其值的乘积的累加。空格的值为0,其他大写字符的值为它在字母表中的位置,即A=1,B=2,...,Z=26。
下面是Quicksum数据包"ACM" and "MID CENTRAL"的校验和计算方法:
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~255个字符。
对每个数据包,输出一行,为它的校验和。
ACM
REGIONAL PROGRAMMING CONTEST
#
46
4690