2150 - Paparazzi
时间限制 : 3 秒
内存限制 : 128 MB
Paparazzi是lady gaga的一首歌,其MV很黄很暴力……这个单词,翻译过来,是狗仔队的意思。

其实吧,不仅明星惧怕狗仔队,我们普通人的隐私也常常被某些看似和蔼可亲的软件记录下来,然后它们装作什么也不知道的样子,比如<span>361</span><span>度等。自己的敏感信息一旦暴露,各位与女神的聊天记录也就岌岌可危了。但是我机智的想到了一个办法,写单词中的字母的时候,用键盘右边的字母代替就是了,比如我想打</span><span>q</span><span>了,观察键盘,我敲个</span><span>w</span><span>!我想打</span><span>f</span><span>了,往右一看,敲个</span><span>g</span><span>!</span>
到了最右边了没有字母了怎么办呢?再用左边同行的第一个字母代替呗。<span>m</span><span>右边没有字母了吧,我就打个</span><span>z</span><span>,这个方法比起固定的密码来说,要机智很多。</span>
但是我偶尔也有脑子晕的时候,那我们就编个程序,完成这项加密工作,让狗仔队无处遁形吧。
题目输入
(注:输入数据的范围为题目保证的范围,评测时不会超出所给的范围,不需要自己在编程时进行约束):
第一行为输入的数据组数,T(1<=T<=999)。
接下来的T行,每行为一个单词(1<=长度<=999),单词中只包含大写和小写字母,不包含其他字符。
题目输出
对每个单词,在单独的一行中输出转化之后的结果。
输入/输出样例
输入格式
3 Paparizzi iloveacm WishUhavegoodends
输出格式
Qsqstoxxo oapbrsvz EodjIjsbrhppfrmfd
C语言解答
#include<stdio.h> #include<string.h> int main(void) { int n; scanf("%d",&n); while(n--) { int i; char s[1005]; scanf("%s",s); for(i=0;i<strlen(s);i++) { if(s[i]=='Q') s[i]='W'; else if(s[i]=='W') s[i]='E'; else if(s[i]=='E') s[i]='R'; else if(s[i]=='R') s[i]='T'; else if(s[i]=='T') s[i]='Y'; else if(s[i]=='Y') s[i]='U'; else if(s[i]=='U') s[i]='I'; else if(s[i]=='I') s[i]='O'; else if(s[i]=='O') s[i]='P'; else if(s[i]=='P') s[i]='Q'; else if(s[i]=='A') s[i]='S'; else if(s[i]=='S') s[i]='D'; else if(s[i]=='D') s[i]='F'; else if(s[i]=='F') s[i]='G'; else if(s[i]=='G') s[i]='H'; else if(s[i]=='H') s[i]='J'; else if(s[i]=='J') s[i]='K'; else if(s[i]=='K') s[i]='L'; else if(s[i]=='L') s[i]='A'; else if(s[i]=='Z') s[i]='X'; else if(s[i]=='X') s[i]='C'; else if(s[i]=='C') s[i]='V'; else if(s[i]=='V') s[i]='B'; else if(s[i]=='B') s[i]='N'; else if(s[i]=='N') s[i]='M'; else if(s[i]=='M') s[i]='Z'; else if(s[i]=='q') s[i]='w'; else if(s[i]=='w') s[i]='e'; else if(s[i]=='e') s[i]='r'; else if(s[i]=='r') s[i]='t'; else if(s[i]=='t') s[i]='y'; else if(s[i]=='y') s[i]='u'; else if(s[i]=='u') s[i]='i'; else if(s[i]=='i') s[i]='o'; else if(s[i]=='o') s[i]='p'; else if(s[i]=='p') s[i]='q'; else if(s[i]=='a') s[i]='s'; else if(s[i]=='s') s[i]='d'; else if(s[i]=='d') s[i]='f'; else if(s[i]=='f') s[i]='g'; else if(s[i]=='g') s[i]='h'; else if(s[i]=='h') s[i]='j'; else if(s[i]=='j') s[i]='k'; else if(s[i]=='k') s[i]='l'; else if(s[i]=='l') s[i]='a'; else if(s[i]=='z') s[i]='x'; else if(s[i]=='x') s[i]='c'; else if(s[i]=='c') s[i]='v'; else if(s[i]=='v') s[i]='b'; else if(s[i]=='b') s[i]='n'; else if(s[i]=='n') s[i]='m'; else if(s[i]=='m') s[i]='z'; } printf("%s\n",s); } return 0; }
C++解答
#include <fstream> #include <iostream> using namespace std; string bef="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; string tra="wertyuiopqsdfghjklaxcvbnmzWERTYUIOPQSDFGHJKLAXCVBNMZ"; int main() { // ofstream cout; // ifstream cin; // cin.open("A_ALL.in"); // cout.open("A_ALL.out"); int testcase; cin>>testcase; while(testcase--) { string tar,end; cin>>tar; for(int i=0;i<tar.length();i++) { for(int j=0;j<bef.length();j++) { if(bef[j]==tar[i]) end+=tra[j]; } } cout<<end<<endl; } return 0; }
Java解答
import java.util.Scanner; class Main { public static void main(String[] args) { Scanner reader=new Scanner(System.in); char[] first={'q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m', 'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M'}; char[] second={'w','e','r','t','y','u','i','o','p','q','s','d','f','g','h','j','k','l','a','x','c','v','b','n','m','z', 'W','E','R','T','Y','U','I','O','P','Q','S','D','F','G','H','J','K','L','A','X','C','V','B','N','M','Z'}; int T=reader.nextInt(); for(int i=0;i<T;i++){ String str=reader.next(); char[] ch=str.toCharArray(); for(int j=0;j<ch.length;j++){ for(int k=0;k<first.length;k++){ if(ch[j]==first[k]){ System.out.print(second[k]); } } } System.out.println(); } } }