Codeforces #831B: Keyboard Layout 题解

来源:互联网 发布:php cgi开发 编辑:程序博客网 时间:2024/06/03 17:52

这个题就简单的纯模拟就可以了

对于当前位,如果不是字母就直接输出,如果是字母就对应上面的表找到对应字符,注意大小写

#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cstdlib>#include <utility>#include <map>#include <stack>#include <set>#include <vector>#include <queue>#include <deque>#include <bitset>#define x first#define y second#define mp make_pair#define pb push_back#define LL long long#define Pair pair<int,int>#define LOWBIT(x) x & (-x)using namespace std;const int zero_stand=1500;const int MOD=1e9+7;const int INF=0x7ffffff;const int magic=348;char a[100],b[100];char c[1048];char ans[1048];int pos[30];int main (){int i;scanf("%s%s%s",a,b,c);for (i=0;i<=25;i++) pos[a[i]-97]=i;int len=strlen(c);for (i=0;i<=len-1;i++){if (!isalpha(c[i])){ans[i]=c[i];continue;}if (isupper(c[i])){int num=c[i]-65;ans[i]=65+b[pos[num]]-97;continue;}if (islower(c[i])){int num=c[i]-97;ans[i]=97+b[pos[num]]-97;continue;}}puts(ans);return 0;}


原创粉丝点击