【九宫格找对应位置,二维当一维数组看】

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

现在小苯有一个可能乱序的九宫格按键,但他注意到九宫格是乱序,因此他还是按照正常九宫格顺序点击的按键。

(正常九宫格:也就是按照 111999 分为三行三列,从上到下,从左到右都是递增的,下方备注有图)


请你告诉他,在他点击完按键后,屏幕上显示的数字都应该是什么?

输入描述:

输入包含四行。
第一到三行,每行三个正整数以空格分割,表示题目所述的“九宫格”按键。(保证输入是一个合法的九宫格,即 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;
}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值