Submission

Status:

--------------------

Subtask/Task Score:

0/100

Score: 0

User: oopoo123123zx

Problemset: Abacus

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-18 13:58:39

#include <iostream>
#include <array>
#include <vector>

std::array<std::string, 10> numBun({
    "** - *****",
    "** -* ****",
    "** -** ***",
    "** -*** **",
    "** -**** *",
    "* *- *****",
    "* *-* ****",
    "* *-** ***",
    "* *-*** **",
    "* *-**** *"
});

void convDigToVec(int num, std::vector<int> &vec) {
    do {
        vec.push_back(num % 10);
        num /= 10;
    } while (num > 0);
}

int main () { //done
    int num, numDigSize;
    int abaLine = 10, abaCnt = 8;
    std::vector<int> numDigVec;

    std::cin >> num;
    convDigToVec(num, numDigVec);
    numDigSize = numDigVec.size();

    for (int line = 0; line < abaLine; line++) {
        for (int dig = abaCnt; dig > numDigSize; dig--) { std::cout << numBun[0][line] << ' '; }
        for (int digPos = numDigSize - 1; digPos >= 0; digPos--) { std::cout << numBun[numDigVec[digPos]][line] << ' '; }
        std::cout << '\n';
    }

    return 0;
}