Submission
Status:
xPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
95/100
Score: 95
User: echo1faust
Problemset: Abacus
Language: cpp
Time: 0.003 second
Submitted On: 2025-06-08 18:53:30
#include<bits/stdc++.h>
using namespace std;
int main(){
cin.tie(0)->sync_with_stdio(0);
int number;
cin >> number;
int num_digit = log10(number) + 1;
int each_digit[num_digit];
int temp = number;
int pos = 0;
//cout << num_digit << '\n';
while(temp > 0){
int digit = temp % 10;
each_digit[pos] = digit;
temp /= 10;
pos++;
}
char abacus[9][8];
for(int i=0;i<9;i++){
if(i < 2 || i > 3){
for(int j=0;j<8;j++){
abacus[i][j] = '*';
}
}
else{
for(int j=0;j<8;j++){
abacus[i][j] = ' ';
}
}
}
for(int j=0;j<num_digit;j++){
if(each_digit[j] >= 5){
swap(abacus[1][j],abacus[2][j]);
each_digit[j] -= 5;
}
swap(abacus[3][j],abacus[3 + each_digit[j]][j]);
}
for(int i=0;i<9;i++){
if(i == 3) cout << "-----------------\n";
for(int j=7;j>=0;j--){
cout << abacus[i][j];
if( j > 0) cout << " ";
}
cout << '\n';
}
return 0;
}
/*
* * * * * * * *
* * * * * * *
*
-----------------
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
*/