Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Quinruj

Problemset: Abacus

Language: cpp

Time: 0.002 second

Submitted On: 2025-09-27 19:28:52

#include <bits/stdc++.h>
using namespace std;

int num[8];
char grid[9][8];
string s;

void setup(){
    for (int i = 0;i<9;i++){
        if (i == 2 || i == 3) continue;
        for (int j = 0;j<8;j++){
            grid[i][j] = '*';
        }
    }
}

void build(int n,int col){
    if (n >= 5){
        swap(grid[1][col],grid[2][col]);
        n-=5;
    }
    int sr = 3;
    while (n >= 1){
        swap(grid[sr][col],grid[sr+1][col]);
        n--;
        sr++;
    }
}

void to_store(){
    int n = s.size();
    for (int i = n-1,j = 7;i>=0;i--,j--){
        num[j] = s[i]-'0';
    }
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin>>s;
    memset(grid,' ',sizeof(grid));
    setup();
    to_store();
    for (int i = 0;i<8;i++) build(num[i],i);
    for (int i = 0;i<9;i++){
        for (int j = 0;j<8;j++){
            cout << grid[i][j] << ' ';
        }cout << '\n';
        if (i == 2){
            for (int k = 0;k<17;k++) cout << '-';
            cout << '\n';
        }
    }
}