题目传送门

 /*
模拟:手敲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. Linux瑞士军刀:密码管理Keeweb

    导读 如今,我们依赖于越来越多的线上服务.我们每注册一个线上服务,就要设置一个密码:如此,我们就不得不记住数以百计的密码.这样对于每个人来说,都很容易忘记密码.我将在本文中介绍 Keeweb,它是一款 ...

  2. @version ||= version

    # -*- encoding : utf-8 -*- class InterfaceBaseController < ActionController::Base private def set ...

  3. lvs之ip-tun(ip隧道)技术的学习与实践

    1.配置测试环境 修改IP windows 200.168.10.4 lvs server  ip:200.168.10.1 因为IP隧道模式只需要一个网卡  所以就停掉其他网卡 web server ...

  4. LNK2005 连接错误解决办法

    nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@ ...

  5. 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

    1.安全性---登录名---新建登录名 2.常规----搜索 3.添加SERVICE用户-- 4.服务器角色---勾上sysadmin: IIS中: 应用程序池---对应的程序池上右键---高级设置 ...

  6. nginx lua处理图片

    user apache apache; worker_processes 4; worker_rlimit_nofile 100000; #error_log logs/error.log; #err ...

  7. 追溯ASP.NET发展史

    2000年全新平台的ASP.NET 1.0正式发布,发展速度异常惊人,2003年升级为1.1版本.ASP.NET 1.1发布之后,更加激发了Web应用程序开发人员对ASP.NET的兴趣,并且对网络技术 ...

  8. PYTHON实现HTTP基本认证(BASIC AUTHENTICATION)

    参考: http://www.voidspace.org.uk/python/articles/authentication.shtml#id20 http://zh.wikipedia.org/wi ...

  9. angularjs 指令(directive)详解(2)

    原文地址 上一篇我们说到了transclude,那么,我们现在继续讲解之后的内容. 9.scope 可选参数,默认值为false.取值: false - 在这个directive里不会创建新的scop ...

  10. javascript输出AscII码扩展集中的字符

    function test(){ var c=""; for(var i=1;i<65536;i++){ if((i%10)==0){ c+=i+':\t'+String.f ...