Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Submit Status Practice ZOJ 3878
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:
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 `[email protected]#$%^&*()}"‘]_+-=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 `[email protected]#$%^&*()+_-={}[]:"‘<>,.?/\| ABCDEFuvwxyz AXJE>Ugk,qf;
#include<iostream> #include<algorithm> #include<map> using namespace std; map<char,char>M; void init(){ M[‘-‘]=‘[‘; M[‘A‘]=‘A‘; M[‘X‘]=‘Q‘; M[‘_‘]=‘{‘; M[‘a‘]=‘a‘; M[‘x‘]=‘q‘; M[‘+‘]=‘}‘; M[‘s‘]=‘o‘; M[‘C‘]=‘J‘; M[‘=‘]=‘]‘; M[‘S‘]=‘O‘; M[‘c‘]=‘j‘; M[‘Q‘]=‘"‘; M[‘D‘]=‘E‘; M[‘V‘]=‘K‘; M[‘q‘]=‘\‘‘; M[‘d‘]=‘e‘; M[‘v‘]=‘k‘; M[‘W‘]=‘<‘; M[‘F‘]=‘U‘; M[‘B‘]=‘X‘; M[‘w‘]=‘,‘; M[‘f‘]=‘u‘; M[‘b‘]=‘x‘; M[‘E‘]=‘>‘; M[‘G‘]=‘I‘; M[‘N‘]=‘B‘; M[‘e‘]=‘.‘; M[‘g‘]=‘i‘; M[‘n‘]=‘b‘; M[‘R‘]=‘P‘; M[‘H‘]=‘D‘; M[‘M‘]=‘M‘; M[‘r‘]=‘p‘; M[‘h‘]=‘d‘; M[‘m‘]=‘m‘; M[‘T‘]=‘Y‘; M[‘j‘]=‘h‘; M[‘<‘]=‘W‘; M[‘t‘]=‘y‘; M[‘K‘]=‘T‘; M[‘,‘]=‘w‘; M[‘Y‘]=‘F‘; M[‘J‘]=‘H‘; M[‘>‘]=‘V‘; M[‘y‘]=‘f‘; M[‘k‘]=‘t‘; M[‘.‘]=‘v‘; M[‘U‘]=‘G‘; M[‘L‘]=‘N‘; M[‘?‘]=‘Z‘; M[‘u‘]=‘g‘; M[‘l‘]=‘n‘; M[‘/‘]=‘z‘; M[‘I‘]=‘C‘; M[‘:‘]=‘S‘; M[‘{‘]=‘?‘; M[‘i‘]=‘c‘; M[‘;‘]=‘s‘; M[‘[‘]=‘/‘; M[‘O‘]=‘R‘; M[‘"‘]=‘_‘; M[‘}‘]=‘+‘; M[‘o‘]=‘r‘; M[‘\‘‘]=‘-‘; M[‘]‘]=‘=‘; M[‘P‘]=‘L‘; M[‘Z‘]=‘:‘; M[‘p‘]=‘l‘; M[‘z‘]=‘;‘; } int main(){ init(); string str; while(getline(cin,str)){ for(int i=0;i<str.length();i++){ if(M.count(str[i]))cout<<M[str[i]]; else cout<<str[i]; } cout<<endl; } return 0; }
时间: 2024-12-15 06:59:41