Submission

Status:

P-P--PP---

Subtask/Task Score:

40/100

Score: 40

User: chokun

Problemset: ลูกเต๋า

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-06 11:19:27

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

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

    // 1. ตรวจสอบเงื่อนไข ERROR
    // หน้าลูกเต๋าต้องมี 3 หลัก และแต่ละหลักต้องเป็นเลข 1 ถึง 6 เท่านั้น
    if (input.length() != 3) {
        cout << "ERROR" << endl;
        return 0;
    }
    for (int i = 0; i < 3; i++) {
        if (input[i] < '1' || input[i] > '6') {
            cout << "ERROR" << endl;
            return 0;
        }
    }

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

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

    // 3. วาดภาพหน้าลูกเต๋าออกทางหน้าจอทีละบรรทัด (มีทั้งหมด 3 บรรทัด)
    for (int line = 0; line < 3; line++) {
        // พิมพ์ลูกเต๋าลูกที่ 1 บรรทัดที่ line ตามด้วยแท่งกั้น '|'
        cout << dice[d1][line] << "|";
        
        // พิมพ์ลูกเต๋าลูกที่ 2 บรรทัดที่ line ตามด้วยแท่งกั้น '|'
        cout << dice[d2][line] << "|";
        
        // พิมพ์ลูกเต๋าลูกที่ 3 บรรทัดที่ line จากนั้นขึ้นบรรทัดใหม่
        cout << dice[d3][line] << endl;
    }
}