游客 Signup | Login
中文 | En

2217 - 解密信息

通过次数

0

提交次数

0

Time Limit : 1 秒 Memory Limit : 32 MB

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

Input

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

Output

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

Examples

Input Format

eydbkmiqugjxlvtzpnwohracsf
Kifq oua zarxa suar bti yaagrj fa xtfgrj

Output Format

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;
}

Solution Java


import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner cin=new Scanner(System.in);
		String s1,s2,str;
		while(cin.hasNext()){
			str="";
			s1=cin.nextLine();
			s2=cin.nextLine();
			for(int i=0;i<s2.length();i++){
				if(s2.charAt(i)==' ')
					str+=" ";
				else{
					if(s2.charAt(i)>='a'&&s2.charAt(i)<='z')
					str+=s1.charAt(s2.charAt(i)-97);
					else if(s2.charAt(i)>='A'&&s2.charAt(i)<='Z')
						str+=(s1.charAt(s2.charAt(i)-65)+"").toUpperCase();
				}
			}
			System.out.println(str);
		}
	}

}

Solution Python

from sys import stdin
j="abcdefghijklmnopqrstuvwxyz"
def DICT(i):return dict(zip(j.upper(),i.upper())+zip(j,i)+[(" "," ")])
i=0
for a in stdin:
    if i%2==0:
        k=DICT(list(a.split('\n'))[0])
    else :
        print "".join(k[c] for c in a.split('\n')[0])
    i+=1