模拟 ZOJ 3878 Convert QWERTY to Dvorak
/*
模拟:手敲map一一映射,累!
除了忘记读入字符串不能用gets用getline外还是很顺利的AC了:)
*/
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <vector>
using namespace std; const int MAXN = 1e2 + ;
const int INF = 0x3f3f3f3f;
map<char, char> m;
string s; void solve(void)
{
m['~'] = '~'; m['`'] = '`';
m['!'] = '!'; m[''] = '';
m['@'] = '@'; m[''] = '';
m['#'] = '#'; m[''] = '';
m['$'] = '$'; m[''] = '';
m['%'] = '%'; m[''] = '';
m['^'] = '^'; m[''] = '';
m['&'] = '&'; m[''] = '';
m['*'] = '*'; m[''] = '';
m['('] = '('; m[''] = '';
m[')'] = ')'; m[''] = '';
m['_'] = '{'; m['-'] = '[';
m['+'] = '}'; m['='] = ']';
m['Q'] = '"'; m['q'] = '\'';
m['W'] = '<'; m['w'] = ',';
m['E'] = '>'; m['e'] = '.';
m['R'] = 'P'; m['r'] = 'p';
m['T'] = 'Y'; m['t'] = 'y';
m['Y'] = 'F'; m['y'] = 'f';
m['U'] = 'G'; m['u'] = 'g';
m['I'] = 'C'; m['i'] = 'c';
m['O'] = 'R'; m['o'] = 'r';
m['P'] = 'L'; m['p'] = 'l';
m['{'] = '?'; m['['] = '/';
m['}'] = '+'; m[']'] = '=';
m['|'] = '|'; m['\\'] = '\\';
m['A'] = 'A'; m['a'] = 'a';
m['S'] = 'O'; m['s'] = 'o';
m['D'] = 'E'; m['d'] = 'e';
m['F'] = 'U'; m['f'] = 'u';
m['G'] = 'I'; m['g'] = 'i';
m['H'] = 'D'; m['h'] = 'd';
m['J'] = 'H'; m['j'] = 'h';
m['K'] = 'T'; m['k'] = 't';
m['L'] = 'N'; m['l'] = 'n';
m[':'] = 'S'; m[';'] = 's';
m['"'] = '_'; m['\''] = '-';
m['Z'] = ':'; m['z'] = ';';
m['X'] = 'Q'; m['x'] = 'q';
m['C'] = 'J'; m['c'] = 'j';
m['V'] = 'K'; m['v'] = 'k';
m['B'] = 'X'; m['b'] = 'x';
m['N'] = 'B'; m['n'] = 'b';
m['M'] = 'M'; m['m'] = 'm';
m['<'] = 'W'; m[','] = 'w';
m['>'] = 'V'; m['.'] = 'v';
m['?'] = 'Z'; m['/'] = 'z';
m[' '] = ' ';
} int main(void) //ZOJ 3878 Convert QWERTY to Dvorak
{
//freopen ("J.in", "r", stdin); solve ();
while (getline (cin, s))
{
for (int i=; s[i]; ++i)
cout << m[s[i]];
cout << endl;
} return ;
} /*
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;
*/
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define ls 2*i
#define rs 2*i+1
#define up(i,x,y) for(i=x;i<=y;i++)
#define down(i,x,y) for(i=x;i>=y;i--)
#define mem(a,x) memset(a,x,sizeof(a))
#define w(a) while(a)
#define LL long long
const double pi = acos(-1.0);
#define Len 20005
#define mod 19999997
const int INF = 0x3f3f3f3f; char s1[]= {"-=_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM<>?"};
char s2[]= {"[]{}',.pyfgcrl/=\"<>PYFGCRL?+aoeuidhtns-AOEUIDHTNS_;qjkxbmwvz:QJKXBMWVZ"};
char c; char print(char c)
{
for(int i=; s1[i]; i++)
if(s1[i]==c)
return s2[i];
return c;
}
int main()
{
w(~scanf("%c",&c))
printf("%c",print(c)); return ;
}
网上题解,两行,给跪了!
模拟 ZOJ 3878 Convert QWERTY to Dvorak的更多相关文章
- zoj 3878 Convert QWERTY to Dvorak【好坑的模拟】
Convert QWERTY to Dvorak Time Limit: 2 Seconds Memory Limit: 65536 KB Edward, a poor copy typis ...
- ZOJ Problem Set - 3878 Convert QWERTY to Dvorak
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3878 /* 问题 很有意思的一道题目,纯模拟,注意细节和最后一 ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Convert QWERTY to Dvorak
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5502 The 12th Zhejiang Provincial ...
- (字符串 键盘转换)Convert QWERTY to Dvorak -- zoj -- 5526
链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5526 Time Limit: 2 Seconds Memor ...
- ACM学习历程—ZOJ3878 Convert QWERTY to Dvorak(Hash && 模拟)
Description Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY ...
- Convert QWERTY to Dvorak
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit Status Pract ...
- BFS+模拟 ZOJ 3865 Superbot
题目传送门 /* BFS+模拟:dp[i][j][p] 表示走到i,j,方向为p的步数为多少: BFS分4种情况入队,最后在终点4个方向寻找最小值:) */ #include <cstdio&g ...
- 说说qwerty、dvorak、colemak三种键盘布局
[qwerty布局] qwerty布局大家应该都很熟悉了,全世界最普及的键盘布局. 截止到去年接触并使用dvorak布局之前,我使用了十几年qwerty布局,在http://speedtest.10f ...
- 贪心+模拟 ZOJ 3829 Known Notation
题目传送门 /* 题意:一串字符串,问要最少操作数使得成为合法的后缀表达式 贪心+模拟:数字个数 >= *个数+1 所以若数字少了先补上在前面,然后把不合法的*和最后的数字交换,记录次数 岛娘的 ...
随机推荐
- JQuery入门
JQuery入门 1 jQuery的概述 1.1 jQuery简介 jQuery是一个 JavaScript函数库,它是一个“写的更少,但做的更多”的轻量级 JavaScript 库.jQuery 极 ...
- ssh tar 命令把远程文件拉回来或推过去
ssh tar 命令把远程文件拉回来或推过去 2010-09-11 21:55:35 分类: LINUX 登录22后tar 压缩/var/log目录输出到标准输入通过管道传到本地22_log. ...
- 【云计算】实战-五个Docker监控工具的对比
[实战]五个Docker监控工具的对比 阅读目录 Docker Stats命令 CAdvisor Scout Data Dog Sensu Monitoring Framework 总结 这篇文章作者 ...
- 《ASP.NET MVC4 WEB编程》学习笔记------.net mvc实现原理ActionResult/View
ActionResult ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回 ...
- python 将pdf分页后插入至word中
所用技术 1. python编程基础 2. 使用pyPdf 3. 使用python操作word 4. 正则表达式的使用 5. windows的bat编程 下面是一个pyPdf库使用的示例: from ...
- C语言字符串处理
一. C语言中,为什么字符串可以赋值给字符指针变量 char *p,a='5';p=&a; //显然是正确的,p="abcd"; ...
- [编解码] 关于base64编码的原理及实现
转载自: http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html [Base64]-base64的编码都是按字符串长度,以每3个8b ...
- python基础——使用dict和set
python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...
- Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
一.URI 通用资源标志符(Universal Resource Identifier, 简称"URI"). Uri代表要操作的数据,Android上可用的每种资源 - 图像.视频 ...
- SQL 查询45题
表格代码 create table student ( sno ) primary key, sname ) not null, ssex ) not null, sbirthday datetime ...