Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: chokun

Problemset: Abacus

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-07 13:34:55

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

int main() {
    // เพิ่มความเร็วในการทำงานของ I/O
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    string input;
    if (!(cin >> input)) return 0;

    // เติม '0' ด้านหน้าให้ครบ 8 หลัก
    while (input.length() < 8) {
        input = "0" + input;
    }

    int u[8]; // จำนวนเม็ดบนที่ปัดลง
    int v[8]; // จำนวนเม็ดล่างที่ปัดขึ้น

    for (int i = 0; i < 8; i++) {
        int digit = input[i] - '0';
        u[i] = digit / 5;
        v[i] = digit % 5;
    }

    // 1. วาดส่วนบน (Upper Deck) จำนวน 3 แถว
    for (int r = 0; r < 3; r++) {
        for (int i = 0; i < 8; i++) {
            if (r == 2 - u[i]) {
                cout << ' ';
            } else {
                cout << '*'; //
            }
            if (i < 7) cout << ' '; // ระยะห่างระหว่างหลัก 1 space
        }
        cout << '\n';
    }

    // 2. วาดแกนกลาง (Center Bar) จำนวน 17 ตัว
    cout << "-----------------\n";

    // 3. วาดส่วนล่าง (Lower Deck) จำนวน 6 แถว
    for (int r = 0; r < 6; r++) {
        for (int i = 0; i < 8; i++) {
            if (r == v[i]) {
                cout << ' ';
            } else {
                cout << '*'; //[cite: 3]
            }
            if (i < 7) cout << ' '; // ระยะห่างระหว่างหลัก 1 space[cite: 3]
        }
        cout << '\n';
    }

    return 0;
}