题目传送门

 /*
模拟:手敲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的更多相关文章

  1. zoj 3878 Convert QWERTY to Dvorak【好坑的模拟】

    Convert QWERTY to Dvorak Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, a poor copy typis ...

  2. ZOJ Problem Set - 3878 Convert QWERTY to Dvorak

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3878 /* 问题 很有意思的一道题目,纯模拟,注意细节和最后一 ...

  3. 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 ...

  4. (字符串 键盘转换)Convert QWERTY to Dvorak -- zoj -- 5526

    链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5526 Time Limit: 2 Seconds      Memor ...

  5. 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 ...

  6. Convert QWERTY to Dvorak

      Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Pract ...

  7. BFS+模拟 ZOJ 3865 Superbot

    题目传送门 /* BFS+模拟:dp[i][j][p] 表示走到i,j,方向为p的步数为多少: BFS分4种情况入队,最后在终点4个方向寻找最小值:) */ #include <cstdio&g ...

  8. 说说qwerty、dvorak、colemak三种键盘布局

    [qwerty布局] qwerty布局大家应该都很熟悉了,全世界最普及的键盘布局. 截止到去年接触并使用dvorak布局之前,我使用了十几年qwerty布局,在http://speedtest.10f ...

  9. 贪心+模拟 ZOJ 3829 Known Notation

    题目传送门 /* 题意:一串字符串,问要最少操作数使得成为合法的后缀表达式 贪心+模拟:数字个数 >= *个数+1 所以若数字少了先补上在前面,然后把不合法的*和最后的数字交换,记录次数 岛娘的 ...

随机推荐

  1. iPod怎么下载歌曲?用iTunes传文件功能!

    昨儿一小美女拿我的手机听歌,说她不知道iPod怎么下载歌曲,因为还在上学家里不肯给买智能机,怕会影响学业.她的iPod shuffle刚买没多久还不会往里传歌曲,让我帮看看怎么整,心想她应该是没装iT ...

  2. undefined与null的区别

    最近在默默的看面试题,其中有一个题目就是“undefined和null的区别”,突然意识到自己从未关注过这个问题,心中莫名有种急躁的感觉,百度一下发现阮大神的一篇文章(http://www.ruany ...

  3. js 判断所有节假日

    // JavaScript Document calendar = new Date(); month = calendar.getMonth(); date = calendar.getDate() ...

  4. 给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.

    在网上看到过一个面试题,感觉挺有意思,看别人的代码写的逻辑不够谨慎,重写了一个,较真了又... package com.array7.algorithm; public class Algorithm ...

  5. NGUI的部分控件无法更改layer?

    http://momowing.diandian.com/post/2012-09-17/40038835795 今天狗日的遇到这样的问题,这是一个imagebutton:,它的层定义为:,NGUI里 ...

  6. First Missing Positive

    不好想,用桶排序解决. int findMissingPostive(int A[], int n) { bucket_sort(A, n); ; i < n; i++) ) ; ; } voi ...

  7. MongoDB概述&语法

    Nosql DB 这是一个非关系型数据库. 通常我们的数据库有三类:  关系型数据库(RDBMS),联机分析处理数据库(OLAP),和菲关系型数据库(NoSql). MongoDB属于第三种,而且是一 ...

  8. Firefox上Web开发工具库一览

    Firefox的目标之一就是尽可能地使web开发者的生活更简单高效,并通过提供工具和具有很强扩展性的浏览器使人们创造出神奇的东西.使web开发者使用Firefox的时候,浏览器可以提供大量开发工具和选 ...

  9. Smarty s02

    保留变量  方便使用php 不用assign {$smarty} get {$smarty.get.page} session {$smarty.session.user.name} server c ...

  10. chrome断点续传功能

    刚好找到了一个临时的解决方法,chrome其实已经内部实现了断点续传功能,不过应该还没完善,所以要自己打开.方法:用chrome在地址栏输入chrome://flags用搜索找到resumption( ...