当前位置: 首页 > news >正文

模拟 ZOJ 3878 Convert QWERTY to Dvorak

 

题目传送门

 1 /*
 2     模拟:手敲map一一映射,累!
 3         除了忘记读入字符串不能用gets用getline外还是很顺利的AC了:)
 4 */
 5 #include <cstdio>
 6 #include <iostream>
 7 #include <algorithm>
 8 #include <cmath>
 9 #include <cstring>
10 #include <string>
11 #include <map>
12 #include <set>
13 #include <queue>
14 #include <vector>
15 using namespace std;
16 
17 const int MAXN = 1e2 + 10;
18 const int INF = 0x3f3f3f3f;
19 map<char, char> m;
20 string s;
21 
22 void solve(void)
23 {
24     m['~'] = '~';   m['`'] = '`';
25     m['!'] = '!';   m['1'] = '1';
26     m['@'] = '@';   m['2'] = '2';
27     m['#'] = '#';   m['3'] = '3';
28     m['$'] = '$';   m['4'] = '4';
29     m['%'] = '%';   m['5'] = '5';
30     m['^'] = '^';   m['6'] = '6';
31     m['&'] = '&';   m['7'] = '7';
32     m['*'] = '*';   m['8'] = '8';
33     m['('] = '(';   m['9'] = '9';
34     m[')'] = ')';   m['0'] = '0';
35     m['_'] = '{';   m['-'] = '[';
36     m['+'] = '}';   m['='] = ']';
37     m['Q'] = '"';   m['q'] = '\'';
38     m['W'] = '<';   m['w'] = ',';
39     m['E'] = '>';   m['e'] = '.';
40     m['R'] = 'P';   m['r'] = 'p';
41     m['T'] = 'Y';   m['t'] = 'y';
42     m['Y'] = 'F';   m['y'] = 'f';
43     m['U'] = 'G';   m['u'] = 'g';
44     m['I'] = 'C';   m['i'] = 'c';
45     m['O'] = 'R';   m['o'] = 'r';
46     m['P'] = 'L';   m['p'] = 'l';
47     m['{'] = '?';   m['['] = '/';
48     m['}'] = '+';   m[']'] = '=';
49     m['|'] = '|';   m['\\'] = '\\';
50     m['A'] = 'A';   m['a'] = 'a';
51     m['S'] = 'O';   m['s'] = 'o';
52     m['D'] = 'E';   m['d'] = 'e';
53     m['F'] = 'U';   m['f'] = 'u';
54     m['G'] = 'I';   m['g'] = 'i';
55     m['H'] = 'D';   m['h'] = 'd';
56     m['J'] = 'H';   m['j'] = 'h';
57     m['K'] = 'T';   m['k'] = 't';
58     m['L'] = 'N';   m['l'] = 'n';
59     m[':'] = 'S';   m[';'] = 's';
60     m['"'] = '_';   m['\''] = '-';
61     m['Z'] = ':';   m['z'] = ';';
62     m['X'] = 'Q';   m['x'] = 'q';
63     m['C'] = 'J';   m['c'] = 'j';
64     m['V'] = 'K';   m['v'] = 'k';
65     m['B'] = 'X';   m['b'] = 'x';
66     m['N'] = 'B';   m['n'] = 'b';
67     m['M'] = 'M';   m['m'] = 'm';
68     m['<'] = 'W';   m[','] = 'w';
69     m['>'] = 'V';   m['.'] = 'v';
70     m['?'] = 'Z';   m['/'] = 'z';
71     m[' '] = ' ';
72 }
73 
74 int main(void)      //ZOJ 3878 Convert QWERTY to Dvorak
75 {
76     //freopen ("J.in", "r", stdin);
77 
78     solve ();
79     while (getline (cin, s))
80     {
81         for (int i=0; s[i]; ++i)
82             cout << m[s[i]];
83         cout << endl;
84     }
85 
86     return 0;
87 }
88 
89 /*
90 Hi, I'm Abel, a Dvorak Layout user.
91 But I've only a Qwerty keyboard.
92 The following lines are for testing:
93 1234567890
94 `~!@#$%^&*()+_-={}[]:"'<>,.?/\|
95 ABCDEFuvwxyz
96 AXJE>Ugk,qf;
97 */
 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <stack>
 5 #include <queue>
 6 #include <map>
 7 #include <set>
 8 #include <vector>
 9 #include <math.h>
10 #include <algorithm>
11 using namespace std;
12 #define ls 2*i
13 #define rs 2*i+1
14 #define up(i,x,y) for(i=x;i<=y;i++)
15 #define down(i,x,y) for(i=x;i>=y;i--)
16 #define mem(a,x) memset(a,x,sizeof(a))
17 #define w(a) while(a)
18 #define LL long long
19 const double pi = acos(-1.0);
20 #define Len 20005
21 #define mod 19999997
22 const int INF = 0x3f3f3f3f;
23 
24 char s1[]= {"-=_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM<>?"};
25 char s2[]= {"[]{}',.pyfgcrl/=\"<>PYFGCRL?+aoeuidhtns-AOEUIDHTNS_;qjkxbmwvz:QJKXBMWVZ"};
26 char c;
27 
28 char print(char c)
29 {
30     for(int i=0; s1[i]; i++)
31         if(s1[i]==c)
32             return s2[i];
33     return c;
34 }
35 int main()
36 {
37     w(~scanf("%c",&c))
38     printf("%c",print(c));
39 
40     return 0;
41 }
网上题解,两行,给跪了!

 

转载于:https://www.cnblogs.com/Running-Time/p/4457671.html

相关文章:

  • 【Java每日一题】20170322
  • JavaScript中的对象复制(Object Clone)
  • C#后台传入数据JS接收
  • petstore-jdbc
  • css3 动画
  • [OS] linux常见问题汇总
  • Lua 程序设计 (Roberto,Ierusalimschy 著)
  • c3p0 连接过多导致tomcat无法启动的解决方法
  • memcache set方法 MEMCACHE_COMPRESSED
  • if(A B || C),应该如何解释满足A、B、C之间的关系
  • Web前端开发的主要职责
  • 啊啊啊
  • 60、70后的互联网恐慌来源于圈地思维失效
  • python3的urllib2报错问题解决方法
  • mkbootimg hacking
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 08.Android之View事件问题
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Elasticsearch 参考指南(升级前重新索引)
  • Java多态
  • magento2项目上线注意事项
  • React-flux杂记
  • vue中实现单选
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 类orAPI - 收藏集 - 掘金
  • 马上搞懂 GeoJSON
  • 学习JavaScript数据结构与算法 — 树
  • 终端用户监控:真实用户监控还是模拟监控?
  • 做一名精致的JavaScripter 01:JavaScript简介
  • HanLP分词命名实体提取详解
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (力扣)1314.矩阵区域和
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十一)图像的罗伯特梯度锐化
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)ABI是什么
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转载)利用webkit抓取动态网页和链接
  • .gitignore文件_Git:.gitignore
  • .net 反编译_.net反编译的相关问题
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • /var/spool/postfix/maildrop 下有大量文件
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [2669]2-2 Time类的定义
  • [Android Studio 权威教程]断点调试和高级调试
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Angular] 笔记 18:Angular Router
  • [Codeforces] probabilities (R1600) Part.1