A18344. 加密
填空题
中等
知识点
题目描述
加密
题目描述
小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做加密。
他有一本密码本,密码本告诉你:每个数字应该变成哪个数字。
数字一共有 10 个:0 1 2 3 4 5 6 7 8 9
密码本会依次告诉你:0 要变成什么、1 要变成什么……9 要变成什么
请你按照密码本,把原来的每个数字都换成新的数字,然后输出。
输入格式
输入共有三 3 行
第一行:一个整数,表示有多少个数字需要加密;
第二行:这些需要加密的数字;
第三行:密码本,一共 10 个数字。
第 0 个数字:表示 0 加密后变成什么;
第 1 个数字:表示 1 加密后变成什么;
第 2 个数字:表示 2 加密后变成什么;
……
第 9 个数字:表示 9 加密后变成什么。
输出格式
输出加密后的数字,把输入第二行里的每个数字,都按照输入第三行的密码本换掉后输出。
样例输入 1
7
0 2 0 3 4 1 9
9 0 1 2 3 4 5 6 7 8样例输出 1
9 1 9 2 3 0 8样例解释
第二行要加密的数字是:0 2 0 3 4 1 9
第三行密码本规则:
0 变成 9
1 变成 0
2 变成 1
3 变成 2
4 变成 3
5 变成 4
6 变成 5
7 变成 6
8 变成 7
9 变成 8替换后结果:9 1 9 2 3 0 8
参考答案
#include <iostream>
using namespace std;
int a[20010];
int keys[11];
int main() {
int n;
cin >> n;
for (int i = 0; i < n; ++i)
cin >> a[i];
for (int i = 0; i < 10; ++i)
cin >> keys[i];
for (int i = 0; i < n; ++i)
cout << keys[a[i]] << ' ';
cout << endl;
return 0;
}
上一题
下一题