2016年 河南工业大学校赛 D题.rqy的键盘

rqy的键盘

时间限制: 1 秒  内存限制: 128 MB  |  提交: 233  解决: 136
  

题目描述

rqy在和妹子约会,突然女票打来电话。rqy骗女票他在写代码。女票为了证实,问他键盘上F键左边是哪个键。
你能否帮助rqy回应女票的质问?不然他可就要写思想汇报了...

输入

输入数据第一行是一个整数 T(1≤T≤10000),表示测试数据的组数。
之后每一行先是一个大写字母X ,之后为一个字符串Left或Right,分别表示询问X键的左边或右边是哪个键。

输出

如果结果为一个字母键,输出该字母;否则输出No letter.。

样例输入

3
A Right
B Left
Q Left

样例输出

S
V
No letter.
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std ;

char str[30] = {' ' , 'Q' , 'W' , 'E' , 'R' , 'T' , 'Y' , 'U' , 'I' ,'O' , 'P' ,  ' ' , 'A' , 'S' , 'D' , 'F' , 'G' , 'H' ,
              'J' , 'K' , 'L' , ' ' , 'Z' , 'X' , 'C' , 'V' , 'B' , 'N' , 'M' , ' ' } ;

int main() {
    int n ;
    char ch , dir[20] ;
    
    scanf("%d" , &n) ;
    for(int i=1 ; i<= n ; i++) {
        //scanf("%c %s" , &ch , dir ) ;
        cin>>ch >>dir ; 
        int pos = 0 ;
        for(int i=0 ; i< strlen(str) ; i++) {
            if(str[i] == ch) {
                pos = i ;
                break ;
            }
        }
        
        if(strcmp("Right" , dir) == 0 ) {
            pos ++ ;
        } else {
            pos -- ;
        }
        
        if(str[pos] == ' ') {
            printf("No letter.
") ;
        } else {
            printf("%c
" , str[pos]) ; 
        }
    }
    return 0 ;
}
原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/7881107.html