【C++】度度熊的暗语-百度机试题-C++学习笔记

度度熊的暗语


Problem Description

我们都知道,地球上有一种神秘的生物———程序猿;

但是,也许你不知道,还有一种更神秘的生物:度度熊!


度度熊的神秘之处在于他只说暗语,暗语由一串英文字母组成(‘a'到’z',以及由‘A'到’Z“)。


假设:

一、字母‘a’代表的值为1(即value(a)==1,‘b’为2,......,‘z’为26;

二、1一大写字母相当于其对应的2个小写字母,如bBb和bbbb是等价的;

三、如果出现连续的相同自负,如aaaa......(连续k个a),这k个a的总权值会编程k*k*value(a);比如,如bBb与bbbb,它们所对应的总权值都是4*4*2=32.


你能计算出度度熊暗语的权值吗?

Input

输入数据第一行是一个正整数T(T<=1000),表示有T测试数据。

接下来T行,每行一句度度熊的暗语,即仅由大小写英文字母构成的字符串,字符串的长度最多为10000.

Output

对于每组数据,请输出一个数字,代表度度熊暗语对应的权值;

每组输出占一行。


以下是本人写的代码,如有错误尽请指正。

/*
 * stream.cpp
 *
 *  Created on: 2015年4月16日
 *      Author: CXH
 */

#include 
#include 


#define testmaxnum 1000//输入的字符个数不超过
#define stringmaxnum 10000//输入的单个字符长度不超过
using namespace std;


int main()
{

	int testnum;
	cin>>testnum;//从键盘输入T测试数据
	if(testnum>1000)
	{
		cout<<"输入的字符个数不超过"< svec;
	while(testnum--)
	{
		string str;
		cin>>str;//从键盘输入单个字符串
		if(str.length()>10000)
		{
			cout<<"输入的单个字符长度不超过"<::iterator vecstart=svec.begin();  vecstart!=svec.end(); vecstart++) {
		str2=*vecstart;
		for (string::size_type i = 0;i < str2.length();i++) {
			if(str2[i]>='A'&&str2[i]<='Z')//当字母为大写时
			{
				dtemp=str2[i]-'a'+1+32;
				zm=2;
			}else if(str2[i]>='a'&&str2[i]<='z')//当字母为小写时
			{
				dtemp=str2[i]-'a'+1;
				zm=1;
			}else {
				cout<<"容器中输入数据错误!输入仅由大小写英文字母构成的字符串!"<

【C++】度度熊的暗语-百度机试题-C++学习笔记_第1张图片

你可能感兴趣的:(C++)