Submission
Status:
--------------------
Subtask/Task Score:
0/100
Score: 0
User: oopoo123123zx
Problemset: Abacus
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-18 09:08:12
#include <iostream>
#include <array>
#include <string>
std::array<std::string, 10> numBun({
"** - *****",
"** -* ****",
"** -** ***",
"** -*** **",
"** -**** *",
"* *- *****",
"* *-* ****",
"* *-** ***",
"* *-*** **",
"* *-**** *"
});
int getDig(int num) {
int dig = 0;
do {
dig++;
num /= 10;
} while(num>0);
return dig;
}
int main () {
int num, numDig;
int abaLine = 10, abaCnt = 8;
std::cin >> num;
std::string numStr = std::to_string(num);
numDig = getDig(num);
for (int line = 0; line < abaLine; line++) {
for (int dig = 0; dig < abaCnt - numDig; dig++) { std::cout << numBun[0][line]; }
for (int dig = 0; dig < numDig; dig++) { std::cout << numBun[ numStr[dig] - '0' ][line]; }
std::cout << '\n';
}
std::cout << std::endl;
return 0;
}