内存:128  时间:1

题目描述

春天来了,单身的霞姐越发地空虚寂寞,于是她想到一个办法,她认 为只要把英文字母上的洞都涂满就能填补心中的空洞,现在有一个字符串,请问霞姐需要涂几个洞。比如:a需要涂一次,k不需要涂,B需要填2次。提供参 考:abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ

输入

第一行是一个正整数t,代表有t个字符串。 

接下去t行,每行有一个字符串,长度<=1000,字符串中只有a-z,A

输出

 对于每个字符串输出霞姐需要涂鸦的次数。

样例输入

2
abcg
ABCD

样例输出

3
4

提示

代码如下

#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <string>
#include <bitset>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <list>
#include <map>
#include <set>
using namespace std;
/***************************************/
typedef vector<int> VI;
typedef vector<char> VC;
typedef vector<string> VS;
typedef set<int> SI;
typedef set<string> SS;
typedef map<int ,int> MII;
typedef map<string,int> MSI;
typedef pair<int,int> PII;
typedef vector<PII> VII;
typedef vector<VI > VVI;
/***************************************/
#define clr(a,b) memset(a,b,sizeof(a))
#define all(x)	(x).begin(), (x).end()
#define sz(x) ((int)(x).size())
#define ll long long
#define int64 __int64
#define pb push_back
#define mp make_pair
#define LL(x) ((x)<<1)
#define RR(x) ((x)<<1|1)
#define ri(x) scanf("%d",&x)
#define rii(x,y) scanf("%d%d",&x,&y)
#define rd(x) scanf("%lf",&x)
#define rdd(x,y) scanf("%lf%lf",&x,&y)
#define rs(x) scanf("%s",x)
#define pi(x) printf("%d",x)
#define pin(x) printf("%d\n",x)
#define ps(x) printf("%s",x)
#define pn()  printf("\n")
#define sqr(x) ((x)*(x))
#define rep(i,a,b)  for(int i=(a);i<(b);i++)
#define repu(i,a,b) for(int i=(a);i<=(b);i++)
#define repd(i,a,b) for(int i=(a);i>=(b);i--)
#define repc(i,a,c) for(int i=(a);(c);i++)
/***************************************/
const int INF = 0x7f7f7f7f;
const double eps = 1e-8;
const double PIE=acos(-1.0);
const int dx[]= {0,-1,0,1};
const int dy[]= {1,0,-1,0};
const int fx[]= {-1,-1,-1,0,0,1,1,1};
const int fy[]= {-1,0,1,-1,1,-1,0,1};
/***************************************/
void openfile()
{
	freopen("first.in","rb",stdin);
	freopen("first.out","wb",stdout);
}
/**********************华丽丽的分割线,以上为模板部分*****************/

const int a[] = { 1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0 };
const int A[] = { 1,2,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0 };

int t, ans;
char s[1010];

int main()
{
	scanf("%d", &t);
	while (t--) {
		ans = 0;
		scanf("%s", s);
		for (int i = 0; s[i]; i++)
			if (s[i] >= 'a' && s[i] <= 'z')
				ans += a[s[i] - 'a'];
			else
				ans += A[s[i] - 'A'];
		printf("%d\n", ans);
	}
	return 0;
}

代码来源于互联网,仅供参考!