J - Convert QWERTY to Dvorak ZOJ - 3878 (模拟)
2017-04-30 13:51
489 查看
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.
<h4< dd="">
Output
The Dvorak document.
<h4< dd="">
Sample Input
<h4< dd="">
Sample Output
Hint
题意:
键盘的位置被打乱了给你一串字符让你输出打乱以后的字符
我们用两个数组分别存储两个字符串
char
x[155]={"_-+=QqWwEeRrTtYyUuIiOoPp{[}]AaSsDdFfGgHhJjKkLl:;\"'ZzXxCcVvBbNnMm<,>.?/"};
char
y[155]={"{[}]\"'<,>.PpYyFfGgCcRrLl?/+=AaOoEeUuIiDdHhTtNnSs_-:;QqJjKkXxBbMmWwVvZz"};
然后找出对应的位置替换就好了
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char x[155]={"_-+=QqWwEeRrTtYyUuIiOoPp{[}]AaSsDdFfGgHhJjKkLl:;\"'ZzXxCcVvBbNnMm<,>.?/"};
char y[155]={"{[}]\"'<,>.PpYyFfGgCcRrLl?/+=AaOoEeUuIiDdHhTtNnSs_-:;QqJjKkXxBbMmWwVvZz"};
int num(char c)
{
for(int i=0;i<70;i++)
{
if(x[i]==c)
return i;
}
return -1;
}
int main()
{
char s[100003];
/* for(int i=0;i<71;i++)
printf("%c",x[i]);
printf("\n");
for(int j=0;j<71;j++)
printf("%c",y[j]);
printf("\n");
*/while(gets(s))
{
int l=strlen(s);
for(int i=0;i<l;i++)
{
if(num(s[i])==-1)
printf("%c",s[i]);
else printf("%c",y[num(s[i])]);
}
printf("\n");
}
}
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 |
---|
A QWERTY document Edward typed. The document has no more than 100 kibibytes. And there are no invalid characters in the document.
<h4< dd="">
Output
The Dvorak document.
<h4< dd="">
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
<h4< dd="">
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;
Hint
题意:
键盘的位置被打乱了给你一串字符让你输出打乱以后的字符
我们用两个数组分别存储两个字符串
char
x[155]={"_-+=QqWwEeRrTtYyUuIiOoPp{[}]AaSsDdFfGgHhJjKkLl:;\"'ZzXxCcVvBbNnMm<,>.?/"};
char
y[155]={"{[}]\"'<,>.PpYyFfGgCcRrLl?/+=AaOoEeUuIiDdHhTtNnSs_-:;QqJjKkXxBbMmWwVvZz"};
然后找出对应的位置替换就好了
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char x[155]={"_-+=QqWwEeRrTtYyUuIiOoPp{[}]AaSsDdFfGgHhJjKkLl:;\"'ZzXxCcVvBbNnMm<,>.?/"};
char y[155]={"{[}]\"'<,>.PpYyFfGgCcRrLl?/+=AaOoEeUuIiDdHhTtNnSs_-:;QqJjKkXxBbMmWwVvZz"};
int num(char c)
{
for(int i=0;i<70;i++)
{
if(x[i]==c)
return i;
}
return -1;
}
int main()
{
char s[100003];
/* for(int i=0;i<71;i++)
printf("%c",x[i]);
printf("\n");
for(int j=0;j<71;j++)
printf("%c",y[j]);
printf("\n");
*/while(gets(s))
{
int l=strlen(s);
for(int i=0;i<l;i++)
{
if(num(s[i])==-1)
printf("%c",s[i]);
else printf("%c",y[num(s[i])]);
}
printf("\n");
}
}
相关文章推荐
- 模拟 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--3878--Convert QWERTY to Dvorak(纯暴力)
- zoj 3878 Convert QWERTY to Dvorak
- ZOJ 3878 Convert QWERTY to Dvorak (The 12th Zhejiang Provincial Collegiate Programming Contest)
- 【ZOJ】[3878]Convert QWERTY to Dvorak
- ZOJ Problem Set - 3878 Convert QWERTY to Dvorak
- ZOJ_3878_Convert QWERTY to Dvorak(顺带学下HashMap)
- ZOJ 3878 Convert QWERTY to Dvorak(12th 浙江省赛)
- ZOJ 3878 Convert QWERTY to Dvorak
- ZOJ-3878-Convert QWERTY to Dvorak【暴力】【12th浙江省赛】
- 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 3878 Convert QWERTY to Dvorak