题目大意:定义一个
f
(
x
)
(
x
=
a
,
b
,
⋯
 
,
z
,
A
,
B
⋯
 
,
Z
)
,
f
(
A
)
=
−
f
(
a
)
=
1
,
f
(
B
)
=
−
f
(
b
)
=
2
⋯
f
(
Z
)
=
−
f
(
z
)
=
26
f(x)(x=a,b,\cdots,z,A,B\cdots,Z),f(A)=-f(a)=1,f(B)=-f(b) = 2\cdots f(Z)=-f(z) = 26
f(x)(x=a,b,⋯,z,A,B⋯,Z),f(A)=−f(a)=1,f(B)=−f(b)=2⋯f(Z)=−f(z)=26,给一个字母x和数字y,你需要输出y+f(x)的结果
输入:第一行输入一个数字T,然后输入T行x和y
输出:y+f(x)的结果
方法:不用多想
/*
*
*Problem Description
*we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;
*Give you a letter x and a number y , you should output the result of y+f(x).
*
*
*Input
*On the first line, contains a number T.then T lines follow, each line is a case.each case contains a letter and a number.
*
*
*Output
*for each case, you should the result of y+f(x) on a line.
*
*
*Sample Input
*6
*R 1
*P 2
*G 3
*r 1
*p 2
*g 3
*
*
*Sample Output
*19
*18
*10
*-17
*-14
*-4
*
*
*Author
*8600
*
*
*Source
*校庆杯Warm Up
*
*
*Recommend
*linle
*
*/
#include<iostream>
using namespace std;
int add(char a, int b) {
if ('a' <= a && a <= 'z')
return b - (a - 'a') - 1;
return b + (a - 'A') + 1;
}
int main() {
char letter;
int n,number;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> letter >> number;
cout << add(letter,number) << endl;
}
system("pause");
return 0;
}