zoj 3878 Convert QWERTY to Dvorak【好坑的模拟】
2015-08-21 19:27
447 查看
Convert QWERTY to DvorakTime Limit: 2 Seconds Memory Limit: 65536 KB
Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY Keyboard with a broken Caps Lock key, so Edward never presses the broken Caps Lock key. Luckily, all the other keys on the QWERTY keyboard work well. Every day, he has a lot of documents to type. Thus he needs a converter to translate QWERTY into Dvorak. Can you help him?
The QWERTY Layout and the Dvorak Layout are in the following:
Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY Keyboard with a broken Caps Lock key, so Edward never presses the broken Caps Lock key. Luckily, all the other keys on the QWERTY keyboard work well. Every day, he has a lot of documents to type. Thus he needs a converter to translate QWERTY into Dvorak. Can you help him?
The QWERTY Layout and the Dvorak Layout are in the following:
The QWERTY Layout |
---|
The Dvorak Layout |
---|
Input
A QWERTY document Edward typed. The document has no more than 100 kibibytes. And there are no invalid characters in the document.Output
The Dvorak document.Sample Input
Jgw Gqm Andpw a H.soav Patsfk f;doe Nfk Gq.d slpt a X,dokt vdtnsaohe Kjd yspps,glu pgld; aod yso kd;kgluZ 1234567890 `~!@#$%^&*()}"']_+-=ZQqWEwe{[\| ANIHDYf.,bt/ ABCDEFuvwxyz
Sample Output
Hi, I'm Abel, a Dvorak Layout user. But I've only a Qwerty keyboard. The following lines are for testing: 1234567890 `~!@#$%^&*()+_-={}[]:"'<>,.?/\| ABCDEFuvwxyz AXJE>Ugk,qf; 题意:输入上边键盘的字符,输出下边键盘对应位置的字符 注意对转义字符处理
#include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> #define INF 0x3f3f3f #define DD double #define MAX 110 using namespace std; char a[MAX]; char c; char str[]= {"-=_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM<>?"}; char s[]= {"[]{}',.pyfgcrl/=\"<>PYFGCRL?+aoeuidhtns-AOEUIDHTNS_;qjkxbmwvz:QJKXBMWVZ"}; int main() { while(scanf("%c",&c)!=EOF) { int ok=0; int len=strlen(str); for(int i=0; i<len; i++) if(str[i]==c) { printf("%c",s[i]); ok=1; } if(!ok) printf("%c",c); } return 0; }
相关文章推荐
- zoj3878Convert QWERTY to Dvorak(打表)
- 卡尔曼滤波应用与讲解(x未完成x)
- windows编程之剪切板
- 一个可以即插即用的MD5加密签名方式
- 文件扩展名批量修改器
- 程序员的生活充满压力,但你不能放弃!
- fzu 2135 数字游戏 【水题】
- Convert QWERTY to Dvorak (字符串)
- ubuntu15.04安装chrome
- C 头文件之<ctpye.h>
- CSU 1511 残缺的棋盘
- 安卓mapbox实现收藏地点功能
- 【Android】网络通讯
- 如何学习iOS开发?iOS Developer Library足矣!
- Android 时间格式化符号HH无法识别
- 静态数据的内存图
- log4j写日志到特定文件夹
- Android常见的几个控件(TextView,EditText,Button)
- NOIP2008 立体图 Codevs 1149 Tyvj 1009
- Linux无锁编程