Submission

Status:

--------------------

Subtask/Task Score:

0/100

Score: 0

User: Miter

Problemset: Abacus

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-06 10:15:35

#include <iostream>
using namespace std;

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

    int num;
    int number[8] = {0};
    if (cin >> num) {
        // แยกตัวเลขใส่ array จากหลักหน่วย (index 7) ไปหลักสิบล้าน (index 0)
        for (int i = 7; i >= 0; i--)
        {
            number[i] = num % 10;
            num /= 10;
        }
    }

    // วาดแสดงผลตามหลักแต่ละหลัก
    // ส่วนบนมี 2 แถว
    for (int row = 0; row < 2; row++) {
        for (int i = 0; i < 8; i++) {
            int top_m = number[i] / 5; // 1 ถ้า >= 5, 0 ถ้า < 5
            if (row == 0) {
                cout << (top_m == 1 ? ' ' : '*') << (i == 7 ? "" : " ");
            } else {
                cout << (top_m == 1 ? '*' : ' ') << (i == 7 ? "" : " ");
            }
        }
        cout << "\n";
    }

    // แกนกลาง 17 ตัว ("-----------------")
    cout << "-----------------\n";

    // ส่วนล่างมี 5 แถว
    for (int row = 0; row < 5; row++) {
        for (int i = 0; i < 8; i++) {
            int button_m = number[i] % 5; // จำนวนเม็ดที่ถูกดันขึ้นชิดแกนกลาง
            // ช่องว่าง ' ' จะเกิดที่แถว index (4 - button_m)
            if (row == 4 - button_m) {
                cout << ' ' << (i == 7 ? "" : " ");
            } else {
                cout << '*' << (i == 7 ? "" : " ");
            }
        }
        cout << "\n";
    }

    return 0;
}