POJ 3094 Quicksum
来源:互联网 发布:社交网络可视化 编辑:程序博客网 时间:2024/06/17 16:45
Description
A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are often used for detecting transmission errors, validating document contents, and in many other situations where it is necessary to detect undesirable changes in data.
For this problem, you will implement a checksum algorithm called Quicksum. A Quicksum packet allows only uppercase letters and spaces. It always begins and ends with an uppercase letter. Otherwise, spaces and letters can occur in any combination, including consecutive spaces.
A Quicksum is the sum of the products of each character's position in the packet times the character's value. A space has a value of zero, while letters have a value equal to their position in the alphabet. So, A=1, B=2, etc., through Z=26. Here are example Quicksum calculations for the packets "ACM
" and "MID CENTRAL
":
ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650
Input
The input consists of one or more packets followed by a line containing only # that signals the end of the input. Each packet is on a line by itself, does not begin or end with a space, and contains from 1 to 255 characters.
Output
For each packet, output its Quicksum on a separate line in the output.
Sample Input
ACMMID CENTRALREGIONAL PROGRAMMING CONTESTACNA C MABCBBC##include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(int argc, const char * argv[]) { string s; int j=1; int a[27]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26}; getline(cin,s); j=0; while(s!="#") { int num=0; for(int i=0;i<s.size();i++) { if(s[i]==' ') { a[s[i]]=0; num+=a[s[i]]*(i+1); } else num+=a[(int)(s[i]-'0')-16]*(i+1); } cout<<num<<endl; getline(cin,s); } return 0;}
- POJ 3094 Quicksum 水题
- poj 3094 Quicksum
- POJ 3094 Quicksum
- POJ 3094 Quicksum
- poj 3094 Quicksum
- POJ 3094 Quicksum
- POJ 3094 quicksum lightblueme
- 【POJ-3094】Quicksum
- POJ 3094 Quicksum【水水】
- poj 3094 Quicksum
- POJ 3094 Quicksum
- POJ 3094 - Quicksum
- POJ 3094 Quicksum
- Poj 3094 Quicksum
- POJ 3094 Quicksum
- POJ 3094 Quicksum 水
- poj 3094 Quicksum
- POJ 3094 Quicksum G++
- [LeetCode]234. Palindrome Linked List
- 结算方式 显示
- 抱歉了,我不做激光雷达这一块了!
- 【zzulioj 2127 tmk射气球】+ 空间点到线段距离
- bzoj 4010: [HNOI2015]菜肴制作 拓扑排序+堆
- POJ 3094 Quicksum
- css引入方式,选择器,属性,行内、块级元素--Day3
- 230. Kth Smallest Element in a BST | 二叉排序树中查找第K小的数
- HTTP通信以及Servlet详解
- Jetson TX1 安装 ROS
- 欢迎您在新浪博客安家
- CvMat, CvArr、Mat, IplImage
- Java编译,运行与环境搭建
- Eclipse快捷键