Submission

Status:

----x-T---

Subtask/Task Score:

0/100

Score: 0

User: chokun

Problemset: ลูกเต๋า (2566)

Language: cpp

Time: 1.049 second

Submitted On: 2026-10-06 14:29:54

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

int main() {
    string input;
    cin >> input;

    // 1. ตรวจสอบเงื่อนไข ERROR 
    // หากข้อมูลนำเข้าไม่ใช่ 3 หลัก หรือมีเลขที่ไม่อยู่ในช่วง 1-6 ให้พิมพ์ ERROR
    if (input.length() != 3) {
        cout << "_" << endl;
        return 0;
    }

    // 2. กำหนดรูปแบบหน้าลูกเต๋า 1-6 ให้ตรงตามตัวอย่างข้อมูลส่งออกของโจทย์
    // ดัชนี 0 จะใส่ว่างไว้ เพื่อให้ดัชนี 1-6 ตรงกับเลขหน้าลูกเต๋าพอดี
    string dice[8][3] = {
        {"   ", "   ", "   "}, // หน้า 0 (ไม่ใช้งาน)
        {"   ", " * ", "   "}, // หน้า 1 (จุดตรงกลาง)
        {" * ", "   ", " * "}, // หน้า 2 (สองจุดบรรทัดกลาง)
        {"*  ", " * ", "  *"}, // หน้า 3 (สามจุดเรียงแนวดิ่งตรงกลาง)
        {"* *", "   ", "* *"}, // หน้า 4 (สี่มุม)
        {"* *", " * ", "* *"}, // หน้า 5 (สี่มุม + ตรงกลาง)
        {"* *", "* *", "* *"}, // หน้า 6 (หกจุด)
        {" ", " ", "_"}
    };

    // แปลงอักขระในข้อความให้เป็นตัวเลขบอกหน้าลูกเต๋า
    int d1 = input[0] - '0';
    int d2 = input[1] - '0';
    int d3 = input[2] - '0';

    // 3. วาดภาพหน้าลูกเต๋าเรียงในแนวนอนทีละบรรทัด (มีทั้งหมด 3 บรรทัด)
    for (int line = 0; line < 3; line++) {
        if(d1 > 6 || d1 < 0 || d2 > 6 || d2 < 0 || d3 > 6 || d3 < 0){
            cout << dice[7][line];
        }
        cout << dice[d1][line];
        cout << dice[d2][line];
        cout << dice[d3][line] << endl;
    }
}