Encoded Love-letter
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 35 Accepted Submission(s) : 14
Problem Description
After Gardon had got Angel's letter, he found it was encoded...Oh my god, why did she encode a love-letter?? But don't worry, she wrote the algorithm for encoding after the letter: Each charactor are changed to a corresponding charactor. If the keyword is "Angel", the rule will be: ABCDEFGHIJKLMNOPQRSTUVWXYZ ANGELZYXWVUTSRQPOMKJIHFDCB You may find that in the bottom line, charactors of the keyword come first. All other charactors will come in a reversed order. Now given another keyword, work the letter out! Can you write a program to translate the letter?
Input
The letter will begin with the keyword (All uppercase), then lines of text.
Output
Decode the letter and print it out. Please note that a upper-case charactor will be decoded to a upper-case charactor, while a lower-case charactor will be decoded to a lower-case charactor.
Sample Input
ANGEL Fxlr jxaj eac W xlam cqim hqwgl W xahl kqsl kplgwat zlltwry Tlj sl atfack jxwru W eqr'j farra zqmylj cqi W mlslsnlm aj jxl eac Cqi aml atfack qr sc swre Lhlrjxqiyx W vikj gar jxwru anqij cqi Wz jxl eac wr jxl zijiml Jxwk tqhl fwtt nlgqswry jmil W'hl rlhlm gxaryl sc swre jxaj W fwtt tqhl cqi zqmlhlm W eqr'j gaml xqf zqqt wj wk W fwtt tlj sc emlas gqsl jmil W fwtt jltt cqi kqsljxwry W farra tlj cqi urqf, W tlj cqi urqf W tqhl cqi, tqhwry cqi, ak jxl sqikl tqhlk jxl mwgl Lhlr lhlmc eac xak kjqms, W fwtt atfack nc cqim kwel W swkk cqi, swkkwry cqi W eqr'j gaml xqf xame wj wk W vikj farj cqi jq nl xappc Lhlmcjxwry, W eq wj zqm cqi
Sample Output
When that day I hear your voice I have some special feeling Let me always think I don't wanna forget you I remember at the day You are always on my mind Eventhough I just can think about you If the day in the future This love will becoming true I've never change my mind that I will love you forever I don't care how fool it is I will let my dream come true I will tell you something I wanna let you know, I let you know I love you, loving you, as the mouse loves the rice Even every day has storm, I will always by your side I miss you, missing you I don't care how hard it is I just want you to be happy Everything, I do it for you
Author
DYGG
Source
HDU “Valentines Day” Open Programming Contest 2007-02-14
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 char c[10000000]; 5 int main() 6 { 7 int n,i,sign1,sign2,j,k; 8 char a[100],b[1000]; 9 gets(a); 10 sign1=strlen(a); 11 for(i=0;i<26;i++) 12 { 13 b[i]='A'+i; 14 b[i+26]='a'+i; 15 } 16 for(i=0;i<sign1;i++) 17 { 18 a[i+26]=a[i]+32; 19 } 20 for(i=sign1,j=0;i<26;i++,j++) 21 { 22 a[i]='Z'-j; 23 a[i+26]='z'-j; 24 for(k=0;k<sign1;k++) 25 if(a[i]==a[k]) 26 { 27 i--;break; 28 } 29 } 30 while(gets(c)) 31 { 32 sign2=strlen(c); 33 for(i=0;i<sign2;i++) 34 { 35 if(c[i]>='A'&&c[i]<='Z') 36 for(k=0;k<26;k++) 37 if(c[i]==a[k]) 38 { 39 c[i]=b[k];break; 40 } 41 if(c[i]>='a'&&c[i]<='z') 42 for(k=26;k<52;k++) 43 if(c[i]==a[k]) 44 { 45 c[i]=b[k];break; 46 } 47 } 48 printf("%s\n",c); 49 } 50 return; 51 }