hdu_problem_2055_An easy problem

題目大意:定義一個f(x)(x=a,b, ,z,A,B ,Z),f(A)=f(a)=1,f(B)=f(b)=2f(Z)=f(z)=26f(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,給一個字母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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章