G - Convert QWERTY to Dvorak
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Submit
Status
Description
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:
Qwerty Layout
The QWERTY Layout
Dvorak 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
The following lines are for testing:
1234567890
`~!@#$%^&*()+_-={}[]:"'<>,.?/\|
ABCDEFuvwxyz
代码2:
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Submit
Status
Description
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:
Qwerty Layout
The QWERTY Layout
Dvorak 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;
100 kibibytes是100*1024个单位;;用gets的话字符内存要开得大一些深受其害,,
代码1:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char ch1[70]={"_-+=QWERTYUIOP{}qwertyuiop[]SDFGHJKL:\"sdfghjkl;'ZXCVBN<>?zxcvbnm,./"};
char ch2[70]={"{[}]\"<>PYFGCRL?+',.pyfgcrl/=OEUIDHTNS_oeuidhtns-:QJKXBWVZ;qjkxbmwvz"};
char ch[120];
int shu[120];
int n;
char a;
while (~scanf("%c",&a))
{
if (a=='\n') printf("\n");
else
{
int tt=1;
for (int j=0;j<70;j++)
{
if (a==ch1[j])
{
tt=0;
printf("%c",ch2[j]);
break;
}
}
if (tt)
printf("%c",a);
}
}
return 0;
}
代码2:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char ch1[70]={"_-+=QWERTYUIOP{}qwertyuiop[]SDFGHJKL:\"sdfghjkl;'ZXCVBN<>?zxcvbnm,./"};
char ch2[70]={"{[}]\"<>PYFGCRL?+',.pyfgcrl/=OEUIDHTNS_oeuidhtns-:QJKXBWVZ;qjkxbmwvz"};
char ch[100*1205];
int shu[100*1205];
int n;
while (gets(ch))
{
int chang=strlen(ch);
for (int i=0;i<chang;i++)
{
int tt=1;
for (int j=0;j<70;j++)
{
if (ch[i]==ch1[j])
{
tt=0;
shu[i]=j;
break;
}
}
if (tt)
printf("%c",ch[i]);
else
printf("%c",ch2[shu[i]]);
}
printf("\n");
}
return 0;
}