游客 Signup | Login
中文 | En

2217 - 解密信息

一天,小明收到了小红给他发来的一封邮件,但是大眼看上去是一堆乱码,不过在邮件的最后小明看到了小红写的邮件解密的方法,举例如下:
给出一串解密key,例如yrwhsoujgcxqbativndfezmlpk。
这串解密key的意思就是邮件中的‘a’实际上应该是‘y’,邮件中的‘b’实际上应该是‘r’,邮件中的‘c’实际上应该是‘w’,以此类推。邮件中的空格不需要解密,按原样显示即可。

Input

输入包含多组测试数据。
每组输入的第一行为一个包含26个小写字母的字符串,表示解密key。
每组输入的第二行为一个长度不超过80的字符串,表示待解密的邮件内容,其中包含大小写字母、空格。

Output

对于每组输入,输出解密后的邮件内容,每组输出占一行。

Examples

Input

eydbkmiqugjxlvtzpnwohracsf
Kifq oua zarxa suar bti yaagrj fa xtfgrj

Output

Jump the fence when you seeing me coming

Solution C

#include<stdio.h>
int main()
{
  char b[30];
  char c[85];
  int i;
  int d;
  while (scanf("%s",b)!=EOF)
  {
    getchar();
    gets(c);
    for (i=0; c[i]!='\0'; i++)
    {
      if(c[i]!=' ')
      {
        d = c[i];
      	  if (d>=97)
          printf("%c",b[d-97]);
        else
          printf("%c",b[d-65]-32);
        
      }
      else printf("%c",c[i]);
    }
    printf("\n");
  }
  return 0;
}

Solution C++

#include <stdio.h>

int main() {
	int i;
	char a[27], b[81];
	while (gets(a)) {
		gets(b);
		for (i = 0; b[i] != '\0'; i++)
			if (b[i] >= 'a' && b[i] <= 'z')
				b[i] = a[b[i] - 'a'];
			else if (b[i] >= 'A' && b[i] <= 'Z')
				b[i] = a[b[i] - 'A'] - 32;
		puts(b);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题