码迷,mamicode.com
首页 > 其他好文 > 详细

2017河南工业大学ACM邀请赛D题

时间:2017-04-26 20:24:55      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:pos   ble   blog   pre   content   pac   技巧   mit   表示   

1263: rqy的键盘

时间限制: 1 秒  内存限制: 128 MB
提交: 216  解决: 122
提交 状态 

题目描述

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.


思路:
简单的模拟题,查找键盘上左右两个字符
实现:
用一个常量字符串记录键盘,可以通过一些技巧减少代码量
代码:
 1 //1263
 2 //2017-04-25 01:10:13
 3 #include<bits/stdc++.h>
 4 using namespace std;
 5 
 6 int main(){
 7     char key[] = " QWERTYUIOP ASDFGHJKL ZXCVBNM ";
 8     int n = strlen(key);
 9     int t;
10     scanf("%d", &t);
11     getchar();
12     while(t--){
13         char ch, op[10];
14         scanf("%c %s\n", &ch, op);
15         int pos = 0;
16         for(pos = 0; pos < n; pos++)
17             if(ch == key[pos]) break;
18         if(op[0] == R) pos++;
19         else if(op[0] == L) pos--;
20         if(key[pos] ==  ) printf("No letter.\n");
21         else printf("%c\n", key[pos]);
22     }
23     return 0;
24 }

 

 

2017河南工业大学ACM邀请赛D题

标签:pos   ble   blog   pre   content   pac   技巧   mit   表示   

原文地址:http://www.cnblogs.com/misaka14522/p/6770388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!