首页 > 代码库 > 2017河南工业大学ACM邀请赛D题
2017河南工业大学ACM邀请赛D题
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题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。