加密
C++ GESP真题 三级 2026.6 #1
EXY-PG-0221
时间限制:1s 内存限制:512MB

题目描述

小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做加密

他有一本密码本,密码本告诉你:每个数字应该变成哪个数字。

数字一共有 10 个:0、1、2、3、4、5、6、7、8、9。

密码本会依次告诉你:

0 要变成什么

1 要变成什么

2 要变成什么

……

9 要变成什么

请你按照密码本,把原来的每个数字都换成新的数字,然后输出。

输入格式

输入共有 3 行。

第一行:一个整数,表示有多少个数字需要加密;

第二行:这些需要加密的数字;

第三行:密码本,一共 10 个数字。

这 10 个数字的意思是:

第 1 个数字:表示 0 加密后变成什么;

第 2 个数字:表示 1 加密后变成什么;

第 3 个数字:表示 2 加密后变成什么;

……

第 10 个数字:表示 9 加密后变成什么。

输出格式

输出加密后的数字。

也就是:把输入第二行里的每个数字,都按照输入第三行的密码本换掉后输出。

样例说明

样例 1
输入:
7
0 2 0 3 4 1 9
9 0 1 2 3 4 5 6 7 8
输出:
9 1 9 2 3 0 8
样例解释:

第二行要加密的数字是:

0 2 0 3 4 1 9

第三行密码本是:

9 0 1 2 3 4 5 6 7 8

它的意思是:

  • 0 变成 9
  • 1 变成 0
  • 2 变成 1
  • 3 变成 2
  • 4 变成 3
  • 5 变成 4
  • 6 变成 5
  • 7 变成 6
  • 8 变成 7
  • 9 变成 8

所以:

  • 0 变成 9
  • 2 变成 1
  • 0 变成 9
  • 3 变成 2
  • 4 变成 3
  • 1 变成 0
  • 9 变成 8

最后得到:

9 1 9 2 3 0 8

数据范围

需要加密的数字个数不超过 20000 个,且均为 0 到 9;密码本中的数字不重复,且均为 0 到 9。