ZOJ 3878 Convert QWERTY to Dvorak
来源:互联网 发布:材料库存软件 编辑:程序博客网 时间:2024/06/05 06:56
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:
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;doeNfk Gq.d slpt a X,dokt vdtnsaoheKjd yspps,glu pgld; aod yso kd;kgluZ1234567890`~!@#$%^&*()}"']_+-=ZQqWEwe{[\|ANIHDYf.,bt/ABCDEFuvwxyzSample Output
Hi, I'm Abel, a Dvorak Layout user.But I've only a Qwerty keyboard.The following lines are for testing:1234567890`~!@#$%^&*()+_-={}[]:"'<>,.?/\|ABCDEFuvwxyzAXJE>Ugk,qf;本来这个题会做,然后交错了三十次,赛后找到了原因:
我把100KB
当成了100B!!!!!
所以数组开的很小,用gets的时候会Segmentation Fault(非法内存)
用getline虽然安全,但是我限定一行最多1100个字符,不错才怪!
所以,以后千万不能马虎!不仅坏了大事,而且还影响心情!!
当时正在比赛,结果被这个题搞的做不下去了!!
不多说,贴代码如下:
#include<stdio.h>#include<iostream>#include<cstring>#include<stdlib.h>using namespace std;const char p[1000]="~`!1@2#3$4%5^6&7*8(9)0_-+=WwEeRrTtYyUuIiOoPp{[}]|\\AaSsDdFfGgHhJjKkLl:;ZzXxCcVvBbNnMm<,>.?/\0";const char q[1000]="~`!1@2#3$4%5^6&7*8(9)0{[}]<,>.PpYyFfGgCcRrLl?/+=|\\AaOoEeUuIiDdHhTtNnSs:;QqJjKkXxBbMmWwVvZz\0";int main(){ char Q[110000]; memset(Q,0,sizeof(Q)); while(cin.getline(Q,1100000)) { int i=0,t; while(i<strlen(Q)) {t=0; if(Q[i]=='Q'){Q[i]='\"';t=1;} else if(Q[i]=='q'){Q[i]='\'';t=1;} else if(Q[i]=='"'){Q[i]='_';t=1;} else if(Q[i]=='\''){Q[i]='-';t=1;} if(t==0) {for(int j=0;j<strlen(p);j++) { if(Q[i]==p[j]) { Q[i]=q[j]; break; } }} i++; } cout<<Q<<endl;}}
阅读全文
0 0
- zoj 3878 Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak
- Convert QWERTY to Dvorak ZOJ 3878
- ZOJ 3878 Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak
- 【ZOJ】[3878]Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak
- ZOJ 3878Convert QWERTY to Dvorak
- ZOJ 3878-Convert QWERTY to Dvorak【模拟】
- ZOJ - 3878-Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak
- Convert QWERTY to Dvorak ZOJ
- ZOJ Problem Set - 3878||Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak(浙江省赛2015)
- ZOJ 3878 Convert QWERTY to Dvorak(暴力)
- ZOJ - 3878 Convert QWERTY to Dvorak (暴力)水&坑
- zoj--3878--Convert QWERTY to Dvorak(纯暴力)
- 微信小程序 填坑(--持续更新)
- 牛腩记账本core版本源码
- 数据库分页(一)
- python实例(水仙花数)
- Organic polysilazane
- ZOJ 3878 Convert QWERTY to Dvorak
- Windows下更改 git bash 软件的启动默认路径
- okhttp请求+recycleview+网络是否连接成功
- HTML小知识点
- DPDK-POLL MODE DRIVER
- C#开发Android-文件的读写
- 使用DMO遍历xml文件(将xml文件中要获取的内容存到ArrayList集合中再取出来)(DMO解析)
- 代码评审系统 ReviewBoard 和 Gerrit
- itext使用html标签生成pdf文件