Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: zodji

Problemset: Abacus

Language: python

Time: 0.011 second

Submitted On: 2025-10-24 10:41:03

def draw_abacus(number):
    num_str = str(number).rjust(8,'0')
    abacus = [[" " for _ in range(8)] for _ in range(10)]
    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[4 + i][col] = val
        abacus[9][col] = "*"
    for r in range(3):
        print(" ".join(abacus[r]))
    print('-----------------')
    for r in range(4, 10):
        print(" ".join(abacus[r]))
n = int(input())
draw_abacus(n)