链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
现在小苯有一个可能乱序的九宫格按键,但他没注意到九宫格是乱序,因此他还是按照正常九宫格顺序点击的按键。
(正常九宫格:也就是按照 111 到 999 分为三行三列,从上到下,从左到右都是递增的,下方备注有图)
请你告诉他,在他点击完按键后,屏幕上显示的数字都应该是什么?
输入描述:
输入包含四行。 第一到三行,每行三个正整数以空格分割,表示题目所述的“九宫格”按键。(保证输入是一个合法的九宫格,即 111 到 999 每个数字都恰好出现一次。) 第四行一个数字串 s (1≤∣s∣≤100,1≤si≤9)s\ (1 \leq |s| \leq 100, 1 \leq s_i \leq 9)s (1≤∣s∣≤100,1≤si≤9),表示小苯会按照正常九宫格顺序输入的数字串。(其中 ∣s∣|s|∣s∣ 表示 sss 的长度。)
输出描述:
输出一行一个数字串,表示小苯输入后,屏幕上的结果字符串。
(输出仅包含数字,数字间无需用空格间隔)
示例1
输入
复制2 9 4 3 5 7 6 1 8 123456987
2 9 4 3 5 7 6 1 8 123456987
输出
复制294357816
294357816
说明
如下为样例的九宫格按键,在正常九宫格按键下按照“123456987”的顺序键入,显然结果应该是“294357816”。
备注:
如下图就是正常九宫格
思路:二维数组化为一维数组看待,再找对应位置
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10];
for(int i=1;i<10;i++)
cin>>a[i];
string s;
cin>>s;
for(int i=0;i<s.size();i++)
{
int t=s[i]-'0';
cout<<a[t];
}
cout<<endl;
return 0;
}