洛谷-P5730 【深基5.例10】显示屏

洛谷-P5730 【深基5.例10】显示屏

原题链接:https://www.luogu.com.cn/problem/P5730


题目描述

液晶屏上,每个阿拉伯数字都是可以显示成 3×5 的点阵的(其中 X 表示亮点,. 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。

输入格式

输出格式

输入输出样例

输入 #1

10
0123456789

输出 #1

XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX
X.X...X...X...X.X.X.X...X.....X.X.X.X.X
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX
X.X...X.X.....X...X...X.X.X...X.X.X...X
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX

C++代码

#include <iostream>
#include <cstring>
using namespace std;

string s[10][5] = {
    {"XXX", "X.X", "X.X", "X.X", "XXX"},
    {"..X", "..X", "..X", "..X", "..X"},
    {"XXX", "..X", "XXX", "X..", "XXX"},
    {"XXX", "..X", "XXX", "..X", "XXX"},
    {"X.X", "X.X", "XXX", "..X", "..X"},
    {"XXX", "X..", "XXX", "..X", "XXX"},
    {"XXX", "X..", "XXX", "X.X", "XXX"},
    {"XXX", "..X", "..X", "..X", "..X"},
    {"XXX", "X.X", "XXX", "X.X", "XXX"},
    {"XXX", "X.X", "XXX", "..X", "XXX"},
};

int main() {
    int n;
    string ss;
    cin >> n >> ss;
    for (int i=0; i<5; ++i) {
        for (int j=0; j<n; ++j) {
            cout << s[ss[j]-'0'][i];
            if (j != n-1)
                cout << '.';
        }
        cout << '\n';
    }
    return 0;
}
posted @ 2020-07-27 08:34  yuzec  阅读(787)  评论(0编辑  收藏  举报