Submission

Status:

PPPP-------P-------P

Subtask/Task Score:

30/100

Score: 30

User: zodji

Problemset: Abacus

Language: python

Time: 0.012 second

Submitted On: 2025-10-22 16:23:50

def draw_abacus(number):
    num_str = str(number).rjust(8,'0')
    abacus = [[" " for _ in range(8)] for _ in range(11)]
    for col, ch in enumerate(num_str):
        digit = int(ch)
        if digit >= 5:
            abacus[0][col] = "*"
            abacus[1][col] = " "
            abacus[2][col] = "*"
        else:
            abacus[0][col] = "*"
            abacus[1][col] = "*"
            abacus[2][col] = " "
        ones = digit %5
        patterns = {
            0:[" ", "*", "*", "*", "*", "*"],
            1:["*", " ", "*", "*", "*", "*"],
            2:["*", "*", " ", " ", "*", "*"],
            3:["*", "*", "*", " ", " ", "*"],
            4:["*", "*", "*", "*", " ", " "],
        } 
        for i, val in enumerate(patterns[ones]):
            abacus[5 + i][col] = val
        abacus[10][col] = "*"
    for r in range(3):
        print(" ".join(abacus[r]))
    print('-----------------')
    for r in range(5, 11):
        print(" ".join(abacus[r]))
n = int(input())
draw_abacus(n)